Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
我正在使用以下代码从聊天文本中删除单词:
问题是,如果cleaned_msg仅具有一个禁用词之一,则不会将其从cleaned_msg中删除。
前
cleaned_msg ='鸭子';如果duck是被禁止的单词之一,那么在替换后,cleaned_msg应该为“”,但它是“ duck”。
如果cleaned_message具有任何其他空格或字符,则可以正常工作。前小鸭返回“ ie”; 'duck'返回''。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
我正在使用以下代码从聊天文本中删除单词:
for(var i =0; i <db.banned_words.length ;i++){
cleaned_msg = cleaned_msg.replace(new RegExp(db.banned_words[i], 'g'), '');
}
问题是,如果cleaned_msg仅具有一个禁用词之一,则不会将其从cleaned_msg中删除。
前
cleaned_msg ='鸭子';如果duck是被禁止的单词之一,那么在替换后,cleaned_msg应该为“”,但它是“ duck”。
如果cleaned_message具有任何其他空格或字符,则可以正常工作。前小鸭返回“ ie”; 'duck'返回''。
最佳答案
您的方法应该有效,因此您的问题可能在其他地方。但是,我可以建议您使用其他方法吗?
var banned_words = ['duck', 'cool', 'test'],
banned_words_rx = new RegExp('\\b(' + banned_words.join('|') + ')\\b', 'gi');
'this duck is very cool, so cool that I used it to test this thing'.replace(banned_words_rx, '');
关于javascript - 字符串与搜索词完全匹配时如何替换文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16513192/
10-09 05:31