当前位置: 首页 > 文档资料 > TJS2 参考手册 >

可以对字符串进行的操作

优质
小牛编辑
127浏览
2023-12-01

 在 TJS2 中,字符串被当作虚拟的 String 类的对象这样的东西,但是 String 类并不存在,实际上并没有 String 类的对象 ( 但是 对字符串使用 instanceof 运算符会返回 "String" )。
 但是,可以把字符串当作对象,使用使用各种方法和属性。

length

 length 属性返回字符串的长度。请注意,这个不是方法,而是属性。但是,不能往这个属性中写入数值。

 TJS 内部把所有字符用 UNICODE 格式来处理,全角字符按 1 个字符来计数,半角字符也是按 1 个字符来计数。

例:
varstr="abc汉字";
varn=str.length;//n中被带入5
varn="abc汉字".length;//这个也一样会把5代入n

'数値'属性

 将数值作为属性来间接引用,可以对数值对应的位置的字符进行操作。
 例如,str 是字符串或者表示字符串的表达式,那么 str[0] 就是表示 str 的第一个字符的字符串。
 如果数值大于字符串的长度或为负值,会产生异常 ( 但是,指定字符串中最后一个字符的话,会返回空字符 )。

 无法用于代入的表达式。

例:
varstr="abcdef";
varc=str[0];//'a'代入到c中
varc=str[2];//'c'代入到c中
str[3]='A';//无法用于代入表达式,产发生错误
varc=str[100];//c的值超出范围,发生错误
varc=str[6];//空字符''被代入

charAt

 charAt 方法会返回字符串中指定位置的字符。 和 '数值'属性功能相同,但是在指定的值超出范围的时候会返回空字符 (不会产生异常)。

格式:charAt(<字符位置>)

例:
varstr="abcdef";
varc=str.charAt(3);//'d'被代入到c中

indexOf

 indexOf 方法返回子字符串的位置。

構文:indexOf(<子字符串>)


 在字符串中从开头开始对 <子字符串> 进行搜索,返回第一次出现的位置。 返回值为 0 则代表出现在字符串的开头。返回值为 -1 则代表未搜索到子字符串。

例:
varstr="abcdefghijkl";
varn=str.indexOf("fgh");//n中被代入5
varn=str.indexOf("xyz");//n中被代入-1

toLowerCase

 这个方法不包含参数。
 toLowerCase 返回将原字符串中的字母变为小写之后的字符串。
 全角字符不会被转换。

 这个方法不会对原字符串造成影响。

例:
varlwr="ABCDEF".toLowerCase();//lwr中被代入"abcdef"

Note
 当前版本的 TJS2 中会对 字符编码 小于 0x80 的字符进行转换。

toUpperCase

 这个方法和 toLowerCase 相反,返回将小写字母变为大写后的字符串。

substring

 substring 方法返回字符串的子字符串。

構文:substring(<起始字符位置>[,<字符数>])

 返回字符串中从、<起始字符位置>开始的<字符数>长度的子字符串。对原字符串没有影响。省略<字符数> 的话,会返回<起始字符位置> 以后的全部字符串。
 请注意,这与 JavaScript 中的同名方法的参数的意义不同。

例:
varss="abcdefghijkl".substring(3,3);//ss中被代入"def"

substr

 和 substring 相同。

sprintf

 sprintf 方法用于对字符串进行格式化。

格式:sprintf(参数,参数,....)


 将当前字符串作为格式字符串,对指定的参数进行和C语言中的 sprintf 相同的字符串格式化并返回结果字符串。对原字符串没有影响。

例:
varformatted="%04X%c%5d".sprintf(v1,v2,dic[v1]);

replace

 replace 方法用来对字符串进行替换。

構文:replace(<模式>,<欲替换的字符串>)

 依照匹配模式对字符串进行替换,返回替换后的字符串。对原字符串没有影响。
 关于该方法的行为请参考 RegExp 类 的 replace 方法。

split

 split 方法用于切割字符串。

構文:split(<模式/分隔符集合>,<(保留)>,<是否忽略空元素=false>)

 返回装有字符串分割结果的数组对象。

 更多内容请参考 Array 类 的 split 方法 (请注意参数的顺序)。

escape

 escape 方法返回将当前字符串转换为能够在TJS的字符串常量中表示的形式的字符串。\ 和 " 等符号全都用 \ 符号转义。

構文:escape()

 返回逃逸处理后的字符串。对原字符串没有影响。

例:
varescaped=str.escape();//str中的"转换为\",\转换为\\,等等

trim

 trim 方法返回删除了当前字符串开头和结尾的空白的字符串。对原字符串没有影响。
 开头和结尾的空白是指字符编码为U+0001~U+0020的字符。也就是说,其中包含ASCII控制字符等,但不包含全角空格。
 如果从头到尾都是空白字符的话,全都会被删除。

格式:trim()

 返回删除了当前字符串开头和结尾的空白的字符串。对原字符串没有影响。

例:
varstr="Hoge".trim();//str的值是"Hoge"。

reverse

 reverse 方法返回字符顺序逆转后的字符串。对原字符串没有影响。
 当前版本的TJS2中不保证该方法能工作在包含UTF-16的Surrogate Pair的字符串下。

格式:reverse()

 返回字符顺序逆转后的字符串。原字符串没有影响。

例:
varstr="Hoge".reverse();//str的值是"egoH"。

repeat

 repeat 方法返回重复指定次数的字符串。对原字符串没有影响。

格式:repeat(count)

 返回重复count次的字符串。对原字符串没有影响。

例:
varstr="Hoge".repeat(3);//str的值是"HogeHogeHoge"。