当前位置: 代码迷 >> JavaScript >> 查找包含空格或任何特殊字符的字符串的 indexOf
  详细解决方案

查找包含空格或任何特殊字符的字符串的 indexOf

热度:151   发布时间:2023-06-05 14:15:55.0

 var value = '1 552 222'; var searchText = '22' if (value.includes(searchText)) { console.log(value.search(searchText)) //6 console.log(value.indexOf(searchText)) //6 }

这里都打印 6,但实际索引应该是 4,因为 2 的第一次出现在第二组数字 (552) 中。

任何帮助将非常感激。

因此,您想搜索字符串,就好像空格或特殊字符不存在一样,但您希望给出索引,就好像它们确实存在一样。

为此,您需要实现自己的搜索算法。

 const value = '1 552 222'; const searchText = '22'; const excludes = ' @!#'; // the characters to exclude (including spaces) console.log(getIndex(value, searchText)); function getIndex(str, search) { return search ? str.split("").findIndex((c, i) => c === search[0] && clean(str.slice(i), excludes).startsWith(search) ) : 0; } function clean(str, toRemove) { return str.split("") .filter(c => !toRemove.includes(c)) .join(""); }

 var value = '1 552 222'; var i = 0, strLength = value.length; for(i; i < strLength; i++) { strLength = value.replace(/\\s/g,''); } var y=strLength.indexOf('22'); console.log(y);

  相关解决方案