首页 > 解决方案 > 如何查找带连字符的字符串

问题描述

我搜索文本中的特定单词并找到它们。但是,如果我要查找的单词被连字符分成两行,则找不到该单词。这是一个示例代码。

searchString = "Hollywood";
newString = "";
text =  "In India Hollywood is called Bollywood.";

var i = 0;

i = text.indexOf(searchString, i);

newString += text.substring(0, i) +  " <<here begins my searchString>> " + text.substr(i, searchString.length) + " <<here ends my searchString>> " +
              text.substring(i + searchString.length);

console.log(newString);


如果 searchString Hollywood 看起来像

Holly-<br>wood

它不会被发现。如何在我的 Javascript 代码中解决这个问题?

标签: javascript

解决方案


有几种方法可以做到这一点,但其中一种方法是完全摆脱 -
如果它们存在:

searchString = "Hollywood";
newString = "";
text =  "In India Holly-<br>wood is called Bollywood.";

filteredText = text.replace(/-<br>/,'');
var i = 0;

i = filteredText.indexOf(searchString, i);

newString += filteredText.substring(0, i) +  " <<here begins my searchString>> " + filteredText.substr(i, searchString.length) + " <<here ends my searchString>> " +
filteredText.substring(i + searchString.length);

console.log(newString);

在这种情况下,我们只需将-<br>字符替换为空字符串。它可能不是最好的方法,但改进它取决于您打算使用它的上下文。

我希望正则表达式和替换思想可以帮助您定制最适合您需求的解决方案。


推荐阅读