我是Lua的新手,很难理解模式匹配。我试图找出如何匹配冒号后的字符串中的所有内容,并将该部分字符串放入变量。我在网上四处看看并没有多少运气,或者我只是没有看到它。那我该怎么做呢?
例如,假设我有一个名为my_string
的变量等于"hello:hi_there"
或类似的变量。如何在不更改"hi_there"
的情况下将my_string
提取到另一个变量?
看起来我需要使用string.match()
,但是用什么模式来实现我的目标?
答案 0 :(得分:5)
您可以通过以下方式实现这一目标:
local my_string = "hello:hi_there"
local extracted = string.match(my_string, ":(.*)")
print(extracted)
圆括号执行模式捕获,圆点表示任何字符,星号告诉匹配函数该模式应重复0次或更多次。它在:
处开始匹配,并将所有内容都带到字符串的末尾。