繁体   English   中英

如何将诸如“Hello my name is Name”之类的字符串拆分为几个 arguments,这样参数 1 将是“Hello”,参数 2 将是“my”等

[英]How could I split a string such as “Hello my name is Name” into several arguments such that argument 1 would be “Hello”, argument 2 would be “my” etc

我自己试过这样做,我想出的只是如何将字符串分成几行:

local line = "Hello my name is Name"
for token in string.gmatch(line, "[^%s]+") do
   print(token)
end

这将导致:

Hello  
my  
name  
is  
Name

这不是我需要的。 有什么建议么?

如果要保留每个非空白标记,只需将每个匹配项添加到数组中:

t = {}
line = "Hello my name is Name"
i = 1
for token in string.gmatch(line, "%S+") do
    t[i] = token
    print(t[i])
    i = i + 1
end

请注意,此处的打印 output 与您已有的代码片段相同,但上面的代码实际上将每个单独的标记保存在一个数组中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM