可以对字符串进行的操作

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

length

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

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

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

'数値' 属性

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

 无法用于代入的表达式。

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

charAt

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

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


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

indexOf

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

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

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


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

toLowerCase

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

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

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


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

toUpperCase

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

substring

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

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

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

substr

 和 substring 相同。

sprintf

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

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

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

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

replace

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

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

split

 split 方法用于切割字符串。

構文 : split(<模式/分隔符集合>, <(保留)>, <是否忽略空元素=false>)
 返回装有字符串分割结果的数组对象。

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

escape

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

構文 : escape()
 返回逃逸处理后的字符串。对原字符串没有影响。


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

trim

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

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


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

reverse

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

格式 : reverse()
 返回字符顺序逆转后的字符串。原字符串没有影响。


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

repeat

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

格式 : repeat(count)
 返回重复count次的字符串。对原字符串没有影响。


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