替换String Corona SDK中的字符串

时间:2015-01-30 01:59:15

标签: string sdk lua corona lua-patterns

问题:我有一个这样的字符串:           "this is a !a joke !/a! haha"
问题是我想要替换部件"!a joke !/a!"但问题是我不能使用string.replace(),因为"!a and !/a!"之间的部分发生了变化,所以有时它可能是"!a happy !/a!"或有时它可能是"!a cheer !/a!"等等....我的问题是,如果所有保持不变的是!a!/a

,我该如何替换此字符串?

1 个答案:

答案 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