我如何从字符串中提取每个数字并将其放入数组中?
例如字符串: “ \ 113 \ 115 \ 106 \ 111 \ 117 \ 41 \ 40 \ 105 \ 102 \ 109 \ 109 \ 112 \ 40 \ 42”
答案 0 :(得分:1)
您可以像这样使用string.gmatch
:
local my_array = {}
local my_string = "\\113\\115\\106\\111\\117\\41\\40\\105\\102\\109\\109\\112\\40\\42"
print(my_string) --note how the string is \ followed by digits
for number in string.gmatch(my_string, "\\(%d+)") do
my_array[#my_array + 1] = tonumber(number)
print(number)
end
这将为您提供一个表格,其中包含字符串中的所有数字。
在我的示例中,\
进行了转义以使其等于您声明的字符串。
如果我误解了您的问题,而您想要的数字来自字符,那么您需要这样做
local my_array = {}
local my_string = "\113\115\106\111\117\41\40\105\102\109\109\112\40\42"
print(my_string) --note how the string is letters
for char in string.gmatch(my_string, ".") do
my_array[#my_array + 1] = string.byte(char)
print(char, my_array[#my_array])
end