转载Lua的string.gsub函数的使用方法

原文链接

Lua的string.gsub函数的使用方法

函数:ret = string.gsub( s, pattern, rep1[, n] );

参数介绍
s 源对象,需要操作的对象
pattern 模式串,操作对象中包含的元素
rep1 替换串,将s中包含的pattern替换成rep1
n 替换次数,从左到右开始,省略表示全替换
ret 返回值,返回替换后的结果

1. 当参数n省略,源对象包含的所有模式串都转换成替换串

ret = string.gsub("abcdefghijklmnabc", "a", "520");
print("ret: ", ret);

ret: 520bcdefghijklmn520bc


2. 当参数n为1时,源对象包含的第一个(从左到右)模式串被替换串替换

ret = string.gsub("abcdefghijklmnabc", "a", "520", 1);
print("ret: ", ret);

ret: 520bcdefghijklmnabc


3. 当参数n为2时,源对象包含的前面两个(从左到右)模式串被替换串替换

ret = string.gsub("abcdefghijklmnabc", "a", "520", 2);
print("ret: ", ret);

ret: 520bcdefghijklmn520bc


PS:

模式串可以用正则表达式表示

符号说明
. 任意字符
%a 字母
%c 控制字符
%d 数字
%l 小写字母
%p 标点字符
%s 空白符
%u 大写字母
%w 字母和数字
%x 十六进制数字
%z 代表 0的字符
(). % + - * ? [ ^ $ 特殊字符,需要用%转义

模式修饰符

符号含义
+ 匹配前一字符 1 次或多次,最长匹配
* 匹配前一字符 0 次或多次,最长匹配
- 匹配前一字符 0 次或多次,最短匹配
? 匹配前一字符 0 次或 1次
‘+’,匹配一个或多个字符,总是进行最长的匹配。
如,模式 ‘%a+’ 匹配一个或多个字母或者一个单词:
未完…
参考文档

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...