【发布时间】:2021-04-28 21:05:42
【问题描述】:
我想知道如何从句子的特定部分获取文本,这就是我的意思。 Hello (new text).,括号里写着new text,我想找到括号里的文字,只打印括号里的文字。
【问题讨论】:
我想知道如何从句子的特定部分获取文本,这就是我的意思。 Hello (new text).,括号里写着new text,我想找到括号里的文字,只打印括号里的文字。
【问题讨论】:
使用( 和) 包围文本,您可以使用string.match:
str = "Hello (new text)"
print(str:match("%((.+)%)"))
%((.+)%)") 是一种捕获( 和) 之间的每个字符的模式。
【讨论】:
str:match("%b()"):sub(2, -2)
最简单的方法就是取消字符串中的 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])
这种解决方案可能不是最好和最有效的,但它确实有效。我希望它对你有所帮助。如果您有任何问题,请告诉我。
【讨论】:
function a() return "a", "b" end print((a())) 打印a,而print(a()) 打印a b 无需将其放入表中并索引第一个元素。