我在Lua中有此字符串:
“ | cffffffffcar | r在这里。”
我如何使用GSUB用另一个单词替换| cffffffff和| r之间的所有内容?请注意,它不一定是“汽车”,可以是我需要替换的任何单词,但始终在| cffffffff和| r之间。
我不知道要替换的单词之前或之后有多少个单词,因此我无法进行简单的单词计数或字符计数。无论它们在字符串中的何处,GSUB都必须替换| cffffffff和| r之间的任何内容。这是解决方案的关键。
感谢。
这里是使用gsub
的一种方法:
input = "The |cffffffffcar|r is here."
s = string.sub(input, "^(.*)[|].*[|](.*)$", "%1|BLAH|%2")
print(s)
此打印:
The |BLAH|r is here.
这里的逻辑是,我们在两个单独的捕获组中捕获两个管道|
两侧的文本。然后,我们使用两个捕获组将所需的输出缝合在一起,并将新字符串夹在管道之间。