Как выделить неанглийские слова, разделенные пробелами в Lua?
У меня есть эта строка
"Hello there, this is some line-aa."
как нарезать его в массив, как это?
Hello
there,
this
is
some
line-aa.
это то, что я пробовал до сих пор
function sliceSpaces(arg)
local list = {}
for k in arg:gmatch("%w+") do
print(k)
table.insert(list, k)
end
return list
end
local sentence = "مرحبا يا اخوتي"
print("sliceSpaces")
print(sliceSpaces(sentence))
этот код работает для английского текста, но не для арабского, как я могу заставить его работать и для арабского?
1 ответ
Решение
Строки Lua - это последовательности байтов, а не символы Юникода. Шаблон %w
соответствует буквенно-цифровым символам, но применяется только к ASCII.
Вместо этого используйте %S
чтобы соответствовать непробельный символ:
for k in arg:gmatch("%S+") do