博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lua string.gsub (s, pattern, repl [, n])
阅读量:6297 次
发布时间:2019-06-22

本文共 1176 字,大约阅读时间需要 3 分钟。

lua的string函数导出在string module中。在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.gsub (s,……), 也可以s:gsub()。

string.gsub (s, pattern, repl [, n])

有四个参数,给定字符串,匹配模式、替代字符串,第四个参数是可选的,用来限制替换的范围:表示替换次数限制。

作用就是将所有符合匹配模式的地方都替换成替代字符串。并返回替换后的字符串,以及替换次数。

其中,repl可以是string,table,或者function。

 repl如果是string,则直接替换匹配到的字符串。

 repl如果是table,则将匹配到的字符串作为key,在table内查找,取table的值来作为替换字符串。

 repl如果是function,则将每一个匹配到的字符串作为function的参数调用该函数,将函数返回的值作为新的字符串进行替换。

 如果返回的是nil或者是false,则不进行替换字符串操作。

 %1表示匹配到的字符串的第一个字符串。

 %0表示匹配到的整个字符串

例子:

  x = string.gsub("hello world", "(%w+)", "%1 %1")     --> x="hello hello world world"          x = string.gsub("hello world", "%w+", "%0 %0", 1)     --> x="hello hello world"          x = string.gsub("hello world from Lua", "(%w+)%s*(%w+)", "%2 %1")     --> x="world hello Lua from"          x = string.gsub("home = $HOME, user = $USER", "%$(%w+)", os.getenv)     --> x="home = /home/roberto, user = roberto"          x = string.gsub("4+5 = $return 4+5$", "%$(.-)%$", function (s)           return loadstring(s)()         end)     --> x="4+5 = 9"          local t = {name="lua", version="5.1"}     x = string.gsub("$name-$version.tar.gz", "%$(%w+)", t)     --> x="lua-5.1.tar.gz"

转载地址:http://dvlta.baihongyu.com/

你可能感兴趣的文章
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
JAVA应用小程序(Applet)
查看>>
Mac OS终端提示符前缀”bogon”
查看>>
STL容器类
查看>>
RPA学习-关于读 csv 文件报错问题
查看>>
mac composer 使用
查看>>
PDF怎么测量尺寸
查看>>
改造Dubbo,使其可以对接口方法进行注解配置
查看>>
MySQL默认配置文件位置发生改变后如何查找
查看>>
C#操作数据库
查看>>
我的友情链接
查看>>
配置ELK添加marvel插件
查看>>
Oracle 内存一 手动内存管理,自动内存管理
查看>>
我的友情链接
查看>>
Mysql学习笔记【原创】
查看>>
ssm配置多数据库支持
查看>>
JVM内存分配与垃圾回收浅析
查看>>
centOS下为PHP安装Xdebug
查看>>