Узоры в Lua с пространством
Как я мог использовать string.gmatch(text, pattern)
сделать это:
text = "Hello.%23 Awesome7^.."
pattern = --what to put here?
for word in string.gmatch(text, pattern) do
print(word)
end
--Result
>test
Hello.%23
Awesome7^..
>
Я использую "%w+%p"
, но это приводит к:
>test
Hello.
%
23
Awesome7^
.
.
Что не является желаемым результатом.
Примечание: я не проверял эту точную строку, она может меняться... но все равно не создает желаемого результата
1 ответ
Решение
В вашем примере каждое слово не содержит пробелов и разделено пробелами, поэтому самый простой шаблон "%S+"
:
text = "Hello.%23 Awesome7^.."
pattern = "%S+"
for word in string.gmatch(text, pattern) do
print(word)
end
"%s"
соответствует пробелу, "%S"
соответствует непробельному символу.