0

在 lua 中,我需要检测一个可能包含空格的子字符串。

例如,

我有一个字符串

local str = "Hel lo World"

如何从此字符串中替换“Hello”?

我需要使用模式吗?

编辑

我想出了这样的东西

local pattern = "[H][ ]*[e][ ]*[l][ ]*[l][ ]*[o]"
str:gsub(pattern,"text_to_replace")

那是最优的吗?

4

2 回答 2

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')
于 2012-10-19T07:29:14.033 回答
0

创建字母/空格所在的掩码

剥离空间

匹配/替换文本

撤消字母/空格的掩码

如果您想创建一个功能来做到这一点。

于 2012-10-19T06:26:15.247 回答