在 lua 中,我需要检测一个可能包含空格的子字符串。
例如,
我有一个字符串
local str = "Hel lo World"
如何从此字符串中替换“Hello”?
我需要使用模式吗?
编辑
我想出了这样的东西
local pattern = "[H][ ]*[e][ ]*[l][ ]*[l][ ]*[o]"
str:gsub(pattern,"text_to_replace")
那是最优的吗?
在 lua 中,我需要检测一个可能包含空格的子字符串。
例如,
我有一个字符串
local str = "Hel lo World"
如何从此字符串中替换“Hello”?
我需要使用模式吗?
编辑
我想出了这样的东西
local pattern = "[H][ ]*[e][ ]*[l][ ]*[l][ ]*[o]"
str:gsub(pattern,"text_to_replace")
那是最优的吗?
你可以这样写一个模式生成器:
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')
创建字母/空格所在的掩码
剥离空间
匹配/替换文本
撤消字母/空格的掩码
如果您想创建一个功能来做到这一点。