如何隔离Lua中用空格分隔的非英语单词?

时间:2016-07-29 07:10:41

标签: string lua find corona lua-patterns

我有这个字符串

"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 个答案:

答案 0 :(得分:2)

Lua字符串是字节序列,而不是Unicode字符。模式%w匹配字母数字字符,但它仅适用于ASCII。

相反,使用%S匹配非空白字符:

for k in arg:gmatch("%S+") do