Как разделить смайлики в строке без пробелов в LUA 5.1 - PullRequest
0 голосов
/ 20 марта 2019

Я хочу использовать функцию разделения в LUA 5.1 для разделения строки символов смайликов без пробелов и добавления пробелов между ними, но я не могу сделать это правильно. Я делаю это таким образом, но это неправильно:

#!/usr/bin/env lua

local text = "?????????‍?‍?‍??‍?‍?⌚↔"
for emoji in string.gmatch(text, "[%z\1-\127\194-\244][\128-\191]*") do
    io.write(emoji .. " ")          
end

Смотрите в браузере Firefox 65!

МОЙ НЕПРАВИЛЬНЫЙ РЕЗУЛЬТАТ: 100 ? ? ? ? ? ? ? ? ? ? ? ? ? ⌚ ↔ 100

ОЖИДАЕМЫЙ РЕЗУЛЬТАТ: 100 ?? ? ? ? ? ?‍?‍?‍? ?‍?‍? ⌚ ↔

1 Ответ

1 голос
/ 20 марта 2019
local text = "?????????‍?‍?‍??‍?‍?⌚↔"
for emoji in text
   :gsub("(.)([\194-\244])", "%1\0%2")
   :gsub("%z(\240\159\143[\187-\191])", "%1")
   :gsub("%z(\239\184[\128-\143])", "%1")
   :gsub("%z(\226\128\141)%z", "%1")
   :gmatch"%Z+" 
do
   print(emoji)
end
...