将字符串分隔为 table 个单词和空格
Separate string into table of words and spaces between
我目前正在开发一个 lua 脚本,该脚本接受一个字符串并将其分成 table 个单词和单词之间的空格 + 字符。
示例:
-- convert this
local input = "This string, is a text!"
-- to this
local output = {
"This", " ", "string", ", ", "is", " ", "a", " ", "text", "!"
}
我尝试使用 lua 的模式实现来解决这个问题,但到目前为止没有成功。
非常感谢任何帮助!
local function splitter(input)
local result = {}
for non_word, word, final_non_word in input:gmatch "([^%w]*)(%w+)([^%w]*)" do
if non_word ~= '' then
table.insert(result, non_word)
end
table.insert(result, word)
if final_non_word ~= '' then
table.insert(result, final_non_word)
end
end
return result
end
我目前正在开发一个 lua 脚本,该脚本接受一个字符串并将其分成 table 个单词和单词之间的空格 + 字符。
示例:
-- convert this
local input = "This string, is a text!"
-- to this
local output = {
"This", " ", "string", ", ", "is", " ", "a", " ", "text", "!"
}
我尝试使用 lua 的模式实现来解决这个问题,但到目前为止没有成功。
非常感谢任何帮助!
local function splitter(input)
local result = {}
for non_word, word, final_non_word in input:gmatch "([^%w]*)(%w+)([^%w]*)" do
if non_word ~= '' then
table.insert(result, non_word)
end
table.insert(result, word)
if final_non_word ~= '' then
table.insert(result, final_non_word)
end
end
return result
end