如何在字符串中查找子串?

例如,string.find 并不能正确地工作:

print ( string.match("Test/(", "Test/(") )

第二个参数被提交为正则表达式,而不是简单的字符串。

点赞
用户4274749
用户4274749

这是你想要的吗?

string.sub(s, i [, j])s:sub(i [,j])

返回所传递字符串的子串。子串从Â i 开始。如果未给定第三个参数Â j ,则子串将在字符串的末尾结束。如果给定了第三个参数,则子串将以及包括Â j 结尾。

您可以在 此处 找到有关这些函数的文档。

2018-03-06 15:28:57
用户2858170
用户2858170

使用下面的代码会导致错误信息

unfinished capture

"Test/("不是一个有效的Lua字符串模式。

(是魔术字符^$()%.[]*+-?之一,必须通过在其前面添加进行转义,因为它们在定义模式时具有特殊含义。 (开始一个_capture_。由于它后面没有跟随 ) 来结束它,因此您的模式包含一个未完成的capture。

请改用"Test/%("来包括括号,并避免出现错误消息。

有关更多详细信息,请参阅Lua参考手册 - 模式

2018-03-06 16:00:05