格式化字符串以适合Lua中的模式?

时间:2017-08-28 01:40:06

标签: string lua lua-patterns

说我有一个模式和一个字符串:

String  = "ABCDEF"
Pattern = "%w%w%w - %w%w%w"

如何使StringPattern的格式相匹配,使其成为"ABC - DEF"

2 个答案:

答案 0 :(得分:3)

使用string.gsub

string.gsub("ABCDEF", "(%w%w%w)(%w%w%w)", "%1 - %2")

请注意,这将取代所有出现的模式。

答案 1 :(得分:0)

在字符串,模式和捕获之间没有一对一的匹配。 可以通过相同字符串的多个模式生成相同的捕获。 此外,如果您的示例中的"%w%w%w - %w%w%w"是Lua字符串模式 字符串"ABC - DEF"与它不匹配。与之匹配的模式可以是 %w%w%w %- %w%w%w%w+%W+%w+%w*%s*.%s*%w*或其他几个人。 因此,我建议您定义自己真正需要的规则子集 实现自己的功能来处理它。