我一直在使用 javascript 使用以下代码从 RSS 提要中删除或替换某些单词:
document.body.innerHTML = document.body.innerHTML.replace( /Words to be removed/g, "Words to be replaced");
我想知道是否有办法检测某个单词并在它不存在时显示一条消息?
我一直在使用 javascript 使用以下代码从 RSS 提要中删除或替换某些单词:
document.body.innerHTML = document.body.innerHTML.replace( /Words to be removed/g, "Words to be replaced");
我想知道是否有办法检测某个单词并在它不存在时显示一条消息?
以与您使用的类似方式,您可以使用该match
方法。
var matches = document.body.innerHTML.match(/Word to detect/g);
如果有任何匹配项,您将获得一个匹配的值数组。
if(matches.length > 0)
alert("Found!");
像这样的东西应该适合你。
如果您的正则表达式匹配多个单词,我认为这里的一种可能性是将第二个参数替换为.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 的回答可能更有用。