微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

转载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+’ 匹配一个或多个字母或者一个单词:
未完…
参考文档

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐