在 Lua 中使用空格的模式

我如何使用 string.gmatch(text, pattern) 来做到这一点:

text = "Hello.%23 Awesome7^.."
pattern = --在这里放置什么?
for word in string.gmatch(text, pattern) do
  print(word)
end
--结果
>test
Hello.%23
Awesome7^..
>

我一直在使用 "%w+%p",但是结果为:

>test
Hello.
%
23
Awesome7^
.
.

这不是期望的结果。

注意:我没有测试过这个确切的字符串,它可能有所不同...但是,仍然不能创建所需的结果。

点赞
用户1009479
用户1009479

从你的例子来看,每个单词都不包含空格,并且由空格分隔,所以最简单的模式是 "%S+"

text = "Hello.%23 Awesome7^.."
pattern = "%S+"
for word in string.gmatch(text, pattern) do
  print(word)
end

"%s" 匹配空格字符,"%S" 匹配非空格字符。

2014-05-16 00:56:13