替换多个敏感词

此例子只考虑少量的敏感词词库替换。

let comments = "sexy girl yes, no sexy fuck";

let abusiveWordsData = ['fuck', 'ass', 'sexy girl', 'sexy']; //敏感词词库

function replaceWords (comments){
	const rgx = new RegExp(abusiveWordsData.join('|'), 'gi'); //拼接成正则 /fuck|ass|sexy girl|sexy/gi
	return comments.replace(rgx, '***'); 
}

replaceWords(comments); //"*** yes, no *** ***"

注意这个例子中’sexy girl’, 'sexy‘ 顺序。在正则匹配的时候,会先寻找和替换“sexy girl”,之后再替换“sexy”.
如果反着写, 就不能全部匹配了。因为把sexy替换成***后,就没有"sexy girl"可以匹配了。

let comments = "sexy girl yes, no sexy fuck";

let abusiveWordsData = ['fuck', 'ass', 'sexy', 'sexy girl']; //敏感词词库

function replaceWords (comments){
	const rgx = new RegExp(abusiveWordsData.join('|'), 'gi'); //拼接成正则 /fuck|ass|sexy girl|sexy/gi
	return comments.replace(rgx, '***'); 
}

replaceWords(comments); //"*** girl yes, no *** ***"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值