在lua中,我需要检测一个可能包含空格的子字符串。
例如,
我有一个字符串
local str = "Hel lo World"
如何从此字符串中替换“Hello”?
我需要使用模式吗?
编辑
我想出了类似的东西
local pattern = "[H][ ]*[e][ ]*[l][ ]*[l][ ]*[o]"
str:gsub(pattern,"text_to_replace")
这是最佳的吗?
答案 0 :(得分:2)
您可以编写这样的模式生成器:
local spaced_match = function(s)
local pattern = ''
for i=1,#s do
pattern = pattern..s:sub(i,i)..' *'
end
return pattern
end
local h = 'hel lo world'
local newh = h:gsub(spaced_match('hello'),'text_to_replace')
答案 1 :(得分:0)
创建一个字母/空格
的掩码剥离空格
匹配/替换文字
撤消字母/空格掩码
如果你想创造一个能够做到这一点的功能。