SimTalk常用函数介绍(一):字符串操作相关函数
- to_str / sprint(<any>, …)
可以将任意类型的数据强制转换为字符型,并且可以将多个字符串合并为一个。
示例:to_str(“string”,1) 返回值为 “string1”
- copy(String:<string>, Position:<integer>, NumberOfCharacters:<integer>)
复制字符串中的一段。
示例: copy(“abcdef”,2,4) 返回值为 “bcde”
copy(“abcdef”,1,3) 返回值为 “abc”
- strlen(Text:<string>)
返回字符串的长度。
示例:strlen(“abc”) 返回值为 3
- strRcopy(SourceText:<string>, NumberOfCharacters:<integer>)
从字符串右端开始截取相应的长度。
示例:strRcopy(“abcde”,3) 返回值为 “cde”
- strRpos(TextToBeFound:<string>, SourceText:<string>)
查找一个字符串中某一个字符或某一段字符的位置。
示例: strRpos(“4″,”123456”) 返回值为 4
strRpos(“34″,”123456”) 返回值为 3
strRpos(“7″,”123456”) 返回值为 0 –未找到返回0
- splitString(Text:<string>, Delimiter:<string>)
分割字符串,返回一个数组。
示例:local arr : string[] := splitString(“ab_cd_ef”,”_”) ; —arr的值为[“ab”,”cd”,”ef”]
- omit(SourceText:<string>, Position:<integer>, NumberOfCharacters:<integer>)
删除一个字符串中的部分字符。
示例: omit(“abcdef”,3,2) 返回值为 “abef”
omit(“abcdef”,0,2) 返回值为 “bcdef”
个人总结,如有不完善的地方,欢迎补充
strRpos()函数不是从字符串右端开始数吗?
如图,实际情况是从左开始