Lua - 获取indexOf字符串

Kos*_*ika 7 string lua find indexof

我在Lua中遇到问题,检查字符串值是否未在另一个字符串中显示.

这就是我在Javascript中可能会这样做的方式:

'my string'.indexOf('no-cache') === -1 // true
Run Code Online (Sandbox Code Playgroud)

但在Lua我试图使用string模块,这给了我意想不到的响应:

string.find('my string', 'no-cache') -- nil, that's fine but..
string.find('no-cache', 'no-cache') -- nil.. that's weird
string.find('no-cache', 'no') -- 1, 2 here it's right.. strange..
Run Code Online (Sandbox Code Playgroud)

Rya*_*ein 13

正如已经提到的,-是一种模式元字符,具体来说:

  • 单个字符类后跟' - ',它还匹配类中0或更多个字符的重复.与'*'不同,这些重复项总是匹配最短的序列;

您可能对该plain选项感兴趣string.find.这将避免将来逃避任何其他事情的需要.

string.find('no-cache', 'no-cache', 1, true)
Run Code Online (Sandbox Code Playgroud)


Eta*_*ner 6

-是lua中的模式元字符.你需要逃脱它.string.find('no-cache', 'no%-cache')