如何在Lua中替换字符串的一部分?

问题描述 投票:0回答:1

我在Lua中有此字符串:

“ | cffffffffcar | r在这里。”

我如何使用GSUB用另一个单词替换| cffffffff和| r之间的所有内容?请注意,它不一定是“汽车”,可以是我需要替换的任何单词,但始终在| cffffffff和| r之间。

我不知道要替换的单词之前或之后有多少个单词,因此我无法进行简单的单词计数或字符计数。无论它们在字符串中的何处,GSUB都必须替换| cffffffff和| r之间的任何内容。这是解决方案的关键。

感谢。

lua gsub
1个回答
0
投票

这里是使用gsub的一种方法:

input = "The |cffffffffcar|r is here."
s = string.sub(input, "^(.*)[|].*[|](.*)$", "%1|BLAH|%2")
print(s)

此打印:

The |BLAH|r is here.

这里的逻辑是,我们在两个单独的捕获组中捕获两个管道|两侧的文本。然后,我们使用两个捕获组将所需的输出缝合在一起,并将新字符串夹在管道之间。

© www.soinside.com 2019 - 2024. All rights reserved.