我试图得到一个不区分大小写的搜索与JavaScript工作的两个字符串。
通常是这样的:
var string="Stackoverflow is the BEST";
var result= string.search(/best/i);
alert(result);
/i标志不区分大小写。
但我需要寻找第二根弦;如果没有国旗,它就完美了:
var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(searchstring);
alert(result);
如果我在上面的例子中添加/ I标志,它将搜索searchstring,而不是变量“searchstring”中的内容(下一个例子不工作):
var string="Stackoverflow is the BEST";
var searchstring="best";
var result= string.search(/searchstring/i);
alert(result);
我怎样才能做到这一点呢?
我喜欢@CHR15TO的答案,不像我在其他类似问题上看到的其他答案,这个答案实际上展示了如何正确地转义用户提供的搜索字符串(而不是说它是必要的,而没有显示如何)。
然而,它仍然相当笨拙,而且可能相对较慢。那么,为什么不针对程序员的常见需求制定一个具体的解决方案呢?(顺便说一句,为什么不把它包含在ES6 API中呢?)
我对类似问题的回答[https://stackoverflow.com/a/38290557/887092]使以下内容成为可能:
var haystack = 'A. BAIL. Of. Hay.';
var needle = 'bail.';
var index = haystack.naturalIndexOf(needle);
我喜欢@CHR15TO的答案,不像我在其他类似问题上看到的其他答案,这个答案实际上展示了如何正确地转义用户提供的搜索字符串(而不是说它是必要的,而没有显示如何)。
然而,它仍然相当笨拙,而且可能相对较慢。那么,为什么不针对程序员的常见需求制定一个具体的解决方案呢?(顺便说一句,为什么不把它包含在ES6 API中呢?)
我对类似问题的回答[https://stackoverflow.com/a/38290557/887092]使以下内容成为可能:
var haystack = 'A. BAIL. Of. Hay.';
var needle = 'bail.';
var index = haystack.naturalIndexOf(needle);