很多人都写过String库,但是没有看到完整的,也许没有找到吧。因为最近要常用,自己整理一篇。
包含函数一共14个,5.1就只有这么几个 :
- sub(s, i, j) --截取字符串s的从第i个字符到第j个字符之间的串
- gsub(s, pattern, repl, n) --查找匹配模式的串,并repl替换字符串s中的pattern,n控制替换范围,可选
- reverse(s) --返回一个由s倒转构成的字符串
- lower(s) --将字符串s中的大写字母转换成小写字母
- dump(f) --返回指定Lua函数f的二进制代码,f没有upvalue
- char(...) --获取0个或多个整数,将每一个数字转换成字符,然后返回一个所有这些字符连接起来的字符串
- gmatch(s, pattern) --返回迭代器的函数
- format(formatstring, ...) -- 格式化字符串
- len(s) --返回字串s的长度
- upper(s) --将字符串s中的小写字母转换成大写字母
- byte( s, i, j ) --将字符串s的第i个字符转换成整数,i可选
- match(s, pattern,init) --只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1
- find(s, pattern, init, plain) --字符串s中找pattern,返回两个值——起始索引init和结尾索引plain
- rep(s, n) --返回重复n次字符串s的串
【基本模式串】
字符类 | 描述 | 示例 | 结果 |
. | 任意字符 | string.find("",".") | nil |
%s | 空白符 | string.find("ab |
3 |
%S | 非空白符 | string.find("ab |
1 |
%p | 标点字符 | string.find("ab,.cd","%p%p") | 3 |
%P | 非标点字符 | string.find("ab,.cd","%P%P") | 1 |
%c | 控制字符 | string.find("abcd\t\n","%c%c") | 5 |