gpt4 book ai didi

string - 如何检查Lua中的字符串中是否找到匹配的文本?

转载 作者:行者123 更新时间:2023-12-03 07:17:04 24 4
gpt4 key购买 nike

如果在文本字符串中至少找到一次特定的匹配文本,我需要创建一个为 true 的条件,例如:

str = "This is some text containing the word tiger."
if string.match(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")

如何检查文本是否在字符串中的某个位置找到?

最佳答案

有 2 个选项可以查找匹配文本; string.matchstring.find .

这两个都执行Lua patten搜索字符串以查找匹配项。

<小时/>

string.find()

string.find(subject string, pattern string, optional start position, optional plain flag)

返回startIndex & endIndex找到的子字符串。

plain标志允许忽略模式并将其解释为文字。而不是(tiger)被解释为匹配 tiger 的模式捕获组,它会查找 (tiger)在字符串内。

反之,如果你想要模式匹配,但仍然想要文字特殊字符(例如 .()[]+- 等),你可以用百分比转义它们; %(tiger%) .

您可能会将其与 string.sub 结合使用

示例

str = "This is some text containing the word tiger."
if string.find(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")
end
<小时/>

string.match()

string.match(s, pattern, optional index)

返回找到的捕获组。

示例

str = "This is some text containing the word tiger."
if string.match(str, "tiger") then
print ("The word tiger was found.")
else
print ("The word tiger was not found.")
end

关于string - 如何检查Lua中的字符串中是否找到匹配的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com