问题:我有一个这样的字符串:
"this is a !a joke !/a! haha"
问题是我想要替换部件"!a joke !/a!"
但问题是我不能使用string.replace(),因为"!a and !/a!"
之间的部分发生了变化,所以有时它可能是"!a happy !/a!"
或有时它可能是"!a cheer !/a!"
等等....我的问题是,如果所有保持不变的是!a
和!/a
答案 0 :(得分:2)
您可以将string.gsub
与lua字符串模式一起使用:
string.gsub("this is a !a joke !/a! haha", "!a %a+ !/a!", "cheer")
如果需要,您甚至可以捕获!a
:
local str = "this is a !a joke !/a! haha"
str:gsub ("!a (%a+) !/a!", "sad %1")
替换后会给你"this is a sad joke haha"
。
有关其他可用的模式和字符类,请参阅Lua reference manual 6.4.1 - Patterns。