Lua匹配字符串中的字符后的所有内容

时间:2018-05-17 16:48:02

标签: lua lua-patterns

我是Lua的新手,很难理解模式匹配。我试图找出如何匹配冒号后的字符串中的所有内容,并将该部分字符串放入变量。我在网上四处看看并没有多少运气,或者我只是没有看到它。那我该怎么做呢?

例如,假设我有一个名为my_string的变量等于"hello:hi_there"或类似的变量。如何在不更改"hi_there"的情况下将my_string提取到另一个变量?

看起来我需要使用string.match(),但是用什么模式来实现我的目标?

1 个答案:

答案 0 :(得分:5)

您可以通过以下方式实现这一目标:

local my_string = "hello:hi_there"
local extracted = string.match(my_string, ":(.*)")
print(extracted)

圆括号执行模式捕获,圆点表示任何字符,星号告诉匹配函数该模式应重复0次或更多次。它在:处开始匹配,并将所有内容都带到字符串的末尾。