aardio string库

admin2020-12-16  518

//unicode编码的字符串,即utf-8、utf-16编码等
string.fromUnicodeIf(unicode字符串) //将@1转成默认代码页,若已经是则不转。返回字符串
string.fromUnicode(unicode字符串,目标编码) //将@1的u/u8编码(只能字符串?)转换成@2编码,省略@2则默认转成what??编码。返回字符串
string.toUnicode(字符串,源编码,是否允许指针) //将@2编码的字符串转换成unicode,当@1注明u/u8时,忽略@2,@3可以是true,false,或源数据长度。返回字符串
string.fromto('UTF-8字符串'u8,65001,936) //将@2编码的字符串转换成@3编码,当@1注明u/u8时,忽略@2。返回字符串

string.getUtf(字符串) //获取@1的编码。返回0,8,16
string.setUtf(字符串,编码格式) //基本无用。以@2设置@1字符串。无返回

string.len(字符串) //自动识别并计算@1长度。返回长度
string.utf8len(字符串) //以utf-8格式取@1的长度。返回长度,若非utf-8格式,返回0(个别字符有误,如“联通”)
string.sub(字符串,开始,结束,文本模式) //取@2到@3位置的@1子串,@4为true时支持u/u8编码。返回子串
string.left(字符串,截取长度,文本模式) //取@1左侧@2长度的子串,@3为true时支持u/u8编码。返回子串
string.right(字符串,截取长度,文本模式) //取@1右侧@2长度的子串,@3为true时支持u/u8编码。返回子串

string.startWith(字符串,开始串,忽略大小写) //@2是否是@1的开始部分,@3为true时忽略大小写。返回true/false
string.endWith(字符串,结束串,忽略大小写) //@2是否是@1的结束部分,@3为true时忽略大小写。返回true/false

string.cmp(字符串,字符串2,比较长度=null) //比较@1和@2,比较长度为@3。返回正、负、0
string.reverse(字符串) //翻转字符串。返回字符串
string.unpack(字符串 [,i ,j] ) //取@1中第i到第j个字符的字节码。返回多个字节码
bytes = { string.unpack(str) } //转换为一个数组
string.pack(65,66,67); string.pack( {65;66;67} );//连接成字符串。返回字符串 
string.lower(str) //转小写
string.upper(str) //转大写

string.indexAny("abcdefg",'c'# ) //查找@2在@1中的位置。返回位置3
string.lastIndexAny("abcdefg",'cde' ) //反向查找@2在@1中的位置。返回反向位置5
string.find(字符串,模式串,开始位置) //在@1中从@3位置开始查找@2。返回起始位置i,结束位置j。
string.match(字符串, 模式串, 开始位置) //在@1中从@3位置开始查找@2。返回找到的字符串
string.replace(字符串,@@字符串,字符串,次数) //把@1中的@2替换成@3,替换@4次,默认全替。返回结果和次数
/*
@前缀声明在查找替换函数中禁用模式匹配语法,仍然基于二进制模式查找替换。
@@前缀声明在查找替换函数中禁用模式匹配语法,但是会基于文本模式查找替换,不会截断双字节字符。
模式匹配函数:http://bbs.aardio.com/doc/reference/libraries/kernel/string/pattern%20matching.html
模式表达式语法:http://bbs.aardio.com/doc/reference/libraries/kernel/string/pattern%20syntax.html
*/

string.escape('abc'u) //返回@1的转义符\u0061\u0062\u0063,支持u/u8
string.trim(字符串,字符) //清除首尾的@2,默认为空格、\t\r\n\v\f等。返回字符串
string.trimleft(字符串,字符) //清除首@2
string.trimright(字符串,字符) //清除尾@2
string.concat(字符串,字符串,...) //连接字符串,可以为null。返回总字符串
string.split('a;b,c',';,') //拆分@1字符串,@2可以多个字符,所以中文两端必须加<>表示整体,但只能用在首尾一次,如用<;,>匹配'a;,b;,c'。返回数组{'a';'b';'c'}
string.splitEx('中文的字符','<文>|<字>') //支持模式匹配。返回{中;的;符}
string.join({"ab";"cd";"ef"}," ") //合并@1数组,以@2隔开。返回字符串"ab cd ef"

string.format("%X",123) //转换进制:%b二进制数,%x%X大小写十六进制数,%o八进制数,%d十进制数 

//一次性读写文件用这两个,不要用io对象
string.load(路径) //读取@1中文本内容。返回内容。
string.save(路径,字符串,追加方式) //将@2保存到@1文件中,@3为true则追加。

string.random(长度, "这是中文字符集" ) //生成长度为@1的@2内随机字符,@2不能同时有中英文。返回字符串
转载请注明原文地址: http://aardio.net/read-82.html
最新回复(1)