ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-05-15 18:00:34  阅读:171  来源: 互联网

标签:字符 匹配 string ret Lua 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+’ 匹配一个或多个字母或者一个单词:
未完…
参考文档

标签:字符,匹配,string,ret,Lua,gsub,替换
来源: https://www.cnblogs.com/Kirito-Asuna-Yoyi/p/Lua_Method2.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有