鸿蒙开发:ArkTs字符串string

简介: 字符串类型是开发中非常重要的一个数据类型,除了上述的方法概述之外,还有String对象,正则等其他的用处,我们放到以后得篇章中讲述。

前言

本文代码案例基于Api13。

字符串在实际的开发中还是非常重要的,牵扯到的用法也是比较多的,比如字符串中的查找,替换,切割等等。


字符串(String)是由零个或多个字符组成的有限序列,在计算机编程和数据处理中广泛使用。字符串可以包含字母、数字、标点符号、空格,甚至可以是空字符串(即不包含任何字符的字符串)。字符串是文本信息的基本表示形式,在几乎所有编程语言中都有专门的字符串数据类型或类来处理它们。


表示方法


在实际的开发中,大家可以使用单引号(')或双引号(")来表示,这两种方式都是可以的,如下代码所示:


let string = "我是双引号字符串"
let string2 = '我是单引号字符串'


如果是成员变量声明,关键字前缀可以不用:


string = "我是双引号字符串"
string2 = '我是单引号字符串'


主要方法


方法/属性

概述

length

返回字符串的长度

indexOf()

返回某个指定的字符串值在字符串中首次出现的位置。

lastIndexOf()

从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。

charAt()

返回在指定位置的字符。

split()

把字符串分割为子字符串数组。

substring()

提取字符串中两个指定的索引号之间的字符。

replace()

替换与正则表达式匹配的子串

search()

检索与正则表达式相匹配的值


各方法介绍

1、获取长度


通过内置的length属性,返回字符串的长度,具体使用如下:


let string = "我是双引号字符串"
let length = string.length
console.log("字符串长度:" + length)
//打印内容为:字符串长度:8


2、获取位置


通过indexOf(),返回某个指定的字符串值在字符串中首次出现的位置,一定要记住是首次,也就是第一次出现的位置。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let index = string.indexOf("一") //获取“一”第一次出现的位置
console.log("获取文字一第一次位置:" + index)
//打印内容为:获取文字一第一次位置:3


3、是否存在某个字符


给定一个字符串,判断这个字符串中是否存在(包含)某一个字符或者字符串,也是通过indexOf方法来判断,存在不为-1,不存在则为-1。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
if (string.indexOf("鸿蒙") != -1) {
    console.log("===存在")
} else {
    console.log("===不存在")
}


4、从后获取位置


indexOf()方法,是从前进行搜索,lastIndexOf(),则是从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let index = string.lastIndexOf("一") //获取“一”的最后一次位置
console.log("获取文字一最后一次位置:" + index)
//打印内容为:获取文字一最后一次位置:13


5、返回指定位置字符


通过charAt(),返回在指定位置的字符。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
 let char = string.charAt(3) //获取指定索引下的文字内容
 console.log("获取文字内容:" + char)
//打印内容为:获取文字内容:一


6、字符串分割


通过split(),把字符串分割为子字符串数组。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let sArray = string.split("一")
console.log("分割后数组:", sArray)
//打印内容为:分割后数组: 程序员,鸣是鸿蒙开发者中的,名佼佼者


除了上面的常见分割之外,也可以通过第二个参数控制返回的数组长度。

let string = "程序员一鸣 是 鸿蒙开发者 中的 一名 佼佼者"
let sArray = string.split(" ", 3) //限制返回三个
console.log("分割后数组:", sArray)
//打印内容为:分割后数组: 程序员一鸣,是,鸿蒙开发者


7、提取字符


通过substring(),提取字符串中两个指定的索引号之间的字符。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let eString = string.substring(0, 6)
console.log("提取之后的字符:", eString)
//打印内容为:提取之后的字符: 程序员一鸣是


如果只有一个参数,那么就是从设置的索引起,到字符串结束位置。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let eString = string.substring(3)
console.log("提取之后的字符:", eString)
//打印内容为:提取之后的字符: 一鸣是鸿蒙开发者中的一名佼佼者


8、替换字符


通过replace(),替换与正则表达式匹配的子串。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let rString = string.replace("程序员一鸣","AbnerMing")
console.log("替换之后的字符:", rString)
//打印内容为:替换之后的字符: AbnerMing是鸿蒙开发者中的一名佼佼者


当然了, 你也可以通过正则来进行替换,比如把一段字符串中的所有数字替换为“好”字。


let re = /\d+/g;
let string = "程序员一鸣6是7鸿蒙开发者8中的一名9佼佼者10"
let rString = string.replace(re,"好")
console.log("替换之后的字符:", rString)
//打印内容为:替换之后的字符: 程序员一鸣好是好鸿蒙开发者好中的一名好佼佼者好


9、检索字符


判断一个字符串是否存在,可以使用indexOf方法进行判断,在上面的第三个方法介绍中已经阐述,除了indexOf方法之外,系统也提供了search()方法用于检索,不为-1则存在,为-1则不存在。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let isSearch = string.search("一鸣") != -1
console.log("检索字符是否存在:", isSearch)
//打印内容为:检索字符是否存在: true


10、小写转大写


通过toUpperCase()方法,把字符串转换为小写。


let string = "abnerming"
let upperCase = string.toUpperCase()
console.log("转换后字符:", upperCase)
//打印内容为:转换后字符: ABNERMING


11、大写转小写


通过toLowerCase()方法,把字符串转换为小写。


let string = "ABNERMING"
let lowerCase = string.toLowerCase()
console.log("转换后字符:", lowerCase)
//打印内容为:转换后字符: abnerming


12、返回指定位置Unicode 编码


通过charCodeAt(),返回在指定的位置的字符的 Unicode 编码。


let string = "程序员一鸣是鸿蒙开发者中的一名佼佼者"
let char = string.charCodeAt(3) //获取指定索引下的Unicode 编码
 console.log("获取Unicode编码内容:" + char)
//打印内容为:获取Unicode编码内容:19968


小结


字符串类型是开发中非常重要的一个数据类型,除了上述的方法概述之外,还有String对象,正则等其他的用处,我们放到以后得篇章中讲述。

目录
打赏
0
17
19
2
186
分享
相关文章
鸿蒙开发:了解分割线
在实际的开发中,如果自带的分割线能够满足我们的需求,以自身的分割线属性为主,如果不满足,我们可以使用组件进行绘制。
61 16
鸿蒙开发:了解分割线
鸿蒙开发,远场通信服务rcp拦截器问题
关于rcp的拦截器问题,最重要的就是会话复用的时候,如果Request对象中有需要的参数,就直接用Request中的,而不是使用session中的。
鸿蒙开发,远场通信服务rcp拦截器问题
一文彻底拿下HarmonyOS NEXT开发实战调试技巧
这是一篇关于HarmonyOS NEXT开发调试技巧的文章,作者是一名经验丰富的程序员Feri。内容涵盖三种调试方法:预览+日志方式(适合简单调试,需注意数据类型转换)、断点调试(详细介绍了设置步骤与功能键使用)以及hilog实战使用(日志打印限制为4096字节,推荐封装维护)。通过这些技巧,帮助开发者更高效地解决问题,提升编程能力。
56 14
一文彻底拿下HarmonyOS NEXT开发实战调试技巧
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
53 27
HarmonyOS Next~鸿蒙AI功能开发:Core Speech Kit与Core Vision Kit的技术解析与实践
本文深入解析鸿蒙操作系统(HarmonyOS)中的Core Speech Kit与Core Vision Kit,探讨其在AI功能开发中的核心能力与实践方法。Core Speech Kit聚焦语音交互,提供语音识别、合成等功能,支持多场景应用;Core Vision Kit专注视觉处理,涵盖人脸检测、OCR等技术。文章还分析了两者的协同应用及生态发展趋势,展望未来AI技术与鸿蒙系统结合带来的智能交互新阶段。
51 31
鸿蒙开发:刷新库V2装饰器适配
如果你是新写的项目,建议直接上手V2装饰器,即便是已经存在的项目,对于新的模块,也是尽量以V2为主。
鸿蒙开发:刷新库V2装饰器适配
|
7天前
|
鸿蒙开发:远场通信服务rcp会话问题
总体来说,问题倒不是很大,解决起来也不是很麻烦,所以啊,老铁们,在实际的开发中,对于一些官方文档,还是建议多看,这样可以提前避免后续的不必要麻烦。
鸿蒙开发:远场通信服务rcp会话问题
|
5天前
|
鸿蒙开发:填充剩余空间
关于占满剩余的空间,如果权重能够解决,还是以权重为主,因为Blank的使用必须父组件的宽高有值,否则就会不生效,当然了,在实际的开发中,还是具体问题具体分析,使用恰当的方式解决为主。
鸿蒙开发:填充剩余空间
|
1天前
鸿蒙开发:正则中的match和matchAll
在实际的开发中,match和matchAll是两个非常常见的的正则表达式方法;match方法适用于简单的匹配操作,而matchAll方法则适用于需要获取所有匹配结果及其捕获组的场景。
鸿蒙开发:正则中的match和matchAll
鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)
本文分享鸿蒙相机开发经验,从环境准备到核心逻辑实现,涵盖权限声明、模块导入、Surface关联与分辨率匹配,再到录制控制及设备适配法则。通过实战案例解析,如旋转补偿、动态帧率调节和编解码优化,帮助开发者掌握功能实现、设备适配与体验设计三大要点,减少开发坑点。适合鸿蒙新手及希望深化硬件交互能力的工程师参考收藏。
30 2

热门文章

最新文章