我有一个字符串"name1 name2 name3 name4 name5"。我应该如何以一种变量1 = name1 |变量2 = name2等等的方式将它们分开?

虽然我声称我的字符串是"name1 name2 name3 name4 name5",但我实际上不知道我的字符串,想要一种将以空格分隔的单词字符串切成不同变量的方法。"这"是一个将以空格分隔的单词字符串切成不同变量的方法。

点赞
用户2858170
用户2858170

你可以使用 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)

我不建议使用最后一行,因为你可以通过它们在 table 中的索引来访问这些单词。对于数量大或未知的单词,为每个单词创建变量名并不实用。

所以,在你的例子中,只需使用 words[5] 替代 variable5 即可。

2021-03-23 08:54:23