1

我一直在使用 javascript 使用以下代码从 RSS 提要中删除或替换某些单词:

document.body.innerHTML = document.body.innerHTML.replace( /Words to be removed/g, "Words to be replaced");

我想知道是否有办法检测某个单词并在它不存在时显示一条消息?

4

2 回答 2

2

以与您使用的类似方式,您可以使用该match方法。

var matches = document.body.innerHTML.match(/Word to detect/g);

如果有任何匹配项,您将获得一个匹配的值数组。

if(matches.length > 0)
   alert("Found!");

像这样的东西应该适合你。

于 2013-10-18T17:44:29.203 回答
0

如果您的正则表达式匹配多个单词,我认为这里的一种可能性是将第二个参数替换为.replace()一个函数。然后,您可以根据被替换的单词自己进行一些计数。

replacedCounts = {};
"bunch of words".replace(/(bunch|of|words)/, function(replaced) {

  var prevCount = replacedCounts[replaced];
  if (!prevCount) { prevCount = 0; }
  replacedCounts[replaced] = prevCount + 1;
  return "replacement string";

}); // result should be: "replacement string replacement string replacement string "
// you can now consult replacedCounts['bunch'], etc, to see how many of each were replaced.

根据您的确切用法,Praveen 的回答可能更有用。

于 2013-10-18T17:52:09.297 回答