正则表达式 - 检查字符但不选择它

时间:2014-10-28 20:58:56

标签: javascript regex

我正在做脏话过滤,我希望为每个字符替换*的字词。但是我想要只替换单词和不是子串的单词以及comas,dots,......必须保留在原来的位置。

请注意 this(工作)示例。在这种情况下,我正在过滤单词f***。第一行和第二行是正确选择的,但其他两行则没有。在最后一种情况下,除了space之外,所有选择都会被选择,而第三种情况则类似。

1 个答案:

答案 0 :(得分:2)

听起来像正则表达式非常适合解决您的整个问题。使用正则表达式查找发誓单词然后使用代码进行替换可能更容易。

\b(swearword)\b

可能就是你要找的东西。 \ b是零宽度字边界。

  

RegExp.prototype.test()

     

以下是使用JavaScript进行此操作的示例代码。 ES5兼容!

     
var filterRegex = /\b(swearword)\b/;
var testString = "swearword";

filterRegex.test(testString);