如何在lua中获取两个字符串之间的单词?

我想获取像这样的两个字符串之间的单词

local str = "Hello Stackoverflow guys"

假设这两个字符串之间的单词(Stackoverflow)是未知的,我想得到这个单词。

有这样的一个函数吗?

点赞
用户2858170
用户2858170

您可以使用带捕获的字符串模式来实现此功能。

https://www.lua.org/manual/5.3/manual.html#6.4.1

string.match("Hello Stackoverflow guys", "Hello (%a+) guys")

返回至少有1个字母的任何单词,该单词位于“Hello”和“guys”之间。在这种情况下,它是“Stackoverflow”。

当然,您可以使用不同的模式来包括数字或其他字符。您可以将任何您认为是单词的东西作为匹配的标准。

当然也可以不指定“Hello”和“guys”或任何其他东西来获取第二个单词。只需阅读手册即可。

2018-04-16 17:47:39
用户107090
用户107090

如果你不知道这些单词,你可以使用

string.match("Hello Stackoverflow guys", "%s+(%S+)")

这将找到第一个空格并捕获其后的一串非空格字符。

2018-04-16 18:34:06