【发布时间】:2021-03-23 16:54:23
【问题描述】:
虽然我说我的字符串是“name1 name2 name3 name4 name5”,但我实际上并不知道我的字符串,并且想要一种将其应用于任何字符串的方法。 "this" 是一种将由空格分隔的单词的字符串切割成不同变量的方法。
【问题讨论】:
标签: lua
虽然我说我的字符串是“name1 name2 name3 name4 name5”,但我实际上并不知道我的字符串,并且想要一种将其应用于任何字符串的方法。 "this" 是一种将由空格分隔的单词的字符串切割成不同变量的方法。
【问题讨论】:
标签: lua
您可以使用string.gmatch 来获取每个单词,方法是使用描述一个或多个非空白字符"%S" 的模式并将它们添加到表中。
local text = "name1 name2 name3 name4 name5"
local words = {}
for word in text:gmatch("%S+") do
table.insert(words, word)
end
local variable1, variable2, variable3, variable4, variable5 = table.unpack(words)
我不建议使用最后一行,因为您可以简单地通过它们的表索引来处理单词。对于大量或未知数量的单词来说,每个单词都有变量名是不切实际的。
所以在您的示例中使用words[5] 而不是variable5
【讨论】: