如何从字符串的特定部分打印文本?

How to print text form a particular part of a string?

我想知道如何从句子的特定部分获取文本,这就是我的意思。 Hello (new text).,在括号中显示 new text,我想查找括号中的文本并仅打印括号中的文本。

最简单的方法就是取消字符串中的 Hello。

local msg = "Hello (obama)"
msg = msg:gsub("Hello %(", ""):gsub("%)", "")

如果字符串的第一部分是动态的并且并不总是 hello 你可以试试这个:

local msg = "Bye (obama)"
local pattern = "%p.+%p"
print(({string.match(msg, pattern):gsub("%)", ""):gsub("%(", "")})[1])

这个解决方案可能不是最好和最有效的,但它确实有效。希望对您有所帮助。如果您有任何问题,请告诉我。

() 包围文本,您可以使用 string.match:

str = "Hello (new text)"
print(str:match("%((.+)%)"))

%((.+)%)") 是一种模式,它捕获 () 之间的每个字符。

资源: Lua 5.3 Reference Manual - 6.4.1 Patterns