Lua的string.gsub函数的使用方法
函数:ret = string.gsub( s, pattern, rep1[, n] );
| 参数 | 介绍 |
|---|---|
| s | 源对象,需要操作的对象 |
| pattern | 模式串,操作对象中包含的元素 |
| rep1 | 替换串,将s中包含的pattern替换成rep1 |
| n | 替换次数,从左到右开始,省略表示全替换 |
| ret | 返回值,返回替换后的结果 |
- 当参数n省略,源对象包含的所有模式串都转换成替换串
ret = string.gsub("abcdefghijklmnabc", "a", "520");
print("ret: ", ret);ret: 520bcdefghijklmn520bc - 当参数n为1时,源对象包含的第一个(从左到右)模式串被替换串替换
ret = string.gsub("abcdefghijklmnabc", "a", "520", 1);
print("ret: ", ret);ret: 520bcdefghijklmnabc - 当参数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+’ 匹配一个或多个字母或者一个单词:
未完…
参考文档
本文详细介绍了Lua中的string.gsub函数,包括其参数和用法。通过实例展示了如何替换字符串中的指定模式,以及如何限制替换次数。同时提到了模式串可以使用正则表达式,帮助读者深入理解该函数在实际编程中的应用。
1310

被折叠的 条评论
为什么被折叠?



