如何从字符串的特定部分打印文本?
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("%((.+)%)"))
%((.+)%)")
是一种模式,它捕获 (
和 )
之间的每个字符。
我想知道如何从句子的特定部分获取文本,这就是我的意思。 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("%((.+)%)"))
%((.+)%)")
是一种模式,它捕获 (
和 )
之间的每个字符。