Lua String库
一、byte
二、char
char函数用于索引 ASCII 码。其语法如下:
1 |
|
它可以接收0个或多个整数(范围为:0~255),并会返回这些整数所对应的ASCII字符所组成的字符串。当参数为空时,默认是0。我们来看如下代码:
1 |
|
其执行结果为:
1 |
|
该函数适用于从具体的字节码构造出二进制字符串,其效率优于字符串连接运算符..
和table.concat函数。
三、upper
四、lower
五、len
六、format
七、find
八、match
九、gmatch
十、rep
十一、sub
sub函数用于索引字符串,其语法如下:
1 |
|
它会返回字符串s中,从索引i到索引j之间的子字符串。可选参数j的默认值为-1,表示字符串的最后位置。我们来看如下代码:
1 |
|
其执行结果为:
1 |
|
我们可以看到,当i<j时,将返回一个空字符串。
十二、gsub
gsub函数用于替换字符串的内容。其语法如下:
1 |
|
它会将字符串s中的p替换成r。可选参数n,表示替换的个数,默认情况下会替换所有的p。该函数会返回两个值,第一个是替换后的新字符串,第二个是替换的个数。我们来看如下代码:
1 |
|
其执行结果为:
1 |
|
我们可以看到,参数p实际上是正则表达式,而参数r不仅可以是字符串,还可以是一个函数。需要注意的是,该函数不能被LuaJIT编译,只能被解释执行。因此,不推荐使用该函数,推荐使用ngx_lua模块提供的ngx.re.gsub函数。
十三、reverse
十四、参考
https://moonbingbing.gitbooks.io/openresty-best-practices/content/lua/string_library.html
Lua String库
https://kuberxy.github.io/2020/12/15/Lua String库/