【问题标题】:I have a string "name1 name2 name3 name4 name5". How can I go about separating these in a way that variable1 = name1 | variable2 = name2 etc.?我有一个字符串“name1 name2 name3 name 4 name 5”。我怎样才能以 variable1 = name1 | 的方式分离这些?变量 2 = 名称 2 等等?
【发布时间】:2021-03-23 16:54:23
【问题描述】:

虽然我说我的字符串是“name1 name2 name3 name4 name5”,但我实际上并不知道我的字符串,并且想要一种将其应用于任何字符串的方法。 "this" 是一种将由空格分隔的单词的字符串切割成不同变量的方法。

【问题讨论】:

    标签: lua


    【解决方案1】:

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

    【讨论】:

    • 感谢您的帮助!
    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 2019-10-30
    • 2018-05-10
    • 2021-01-10
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多