string.gsub 函数有三个参数:目标串,模式串,替换串。
基本作用是用来查找匹配模式的串,并将使用替换串其替换掉:
s = string.gsub("Lua is good", "good", "bad?")
print(s) --> Lua is bad
string.gsub 的第二个返回值表示进行替换操作的次数。例如,
下面代码计字符串中空格出现的次数:
_, count = string.gsub("test test", " ", " ")
_ 表示哑元变量
模式串
. 任意字符
%a 字母
%c 控制字符
%d 数字
%l 小写字母
%p 标点字符
%s 空白符
%u 大写字母
%w 字母和数字
%x 十六进制数字
%z 代表 0的字符
特殊字符如下:
(). % + - * ? [ ^ $
% 也作为以上特殊字符的转义字符。
[] 该方框作为匹配该范围的集合,。
如[0-9] 则匹配0到9的数字范围
Lua 中的模式修饰符有四个:
+ 匹配前一字符 1 次或多次,最长匹配
* 匹配前一字符 0 次或多次,最长匹配
- 匹配前一字符 0 次或多次,最短匹配
? 匹配前一字符 0 次或 1次
'+',