Как мне извлечь числа из строки?

#lua

#lua

Вопрос:

Как бы мне извлечь каждое число из строки и поместить их в массив?

Например, строка: «11311510611111741401051021091091124042»

Ответ №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 = "11311510611111741401051021091091124042"
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