Java String 下的replaceAll

来源:互联网 发布:spss软件安装教程 编辑:程序博客网 时间:2024/04/28 17:54

今天在做一个关于关键词过滤以及替换的东西,发现正好Java下的String有相关的方法于是写下相关的代码:

                String target;String regex = "[\"TM\"|\"tm\"|\"吃shi\"|\"打不开\"|\"恶心\"|\"广告\"|\"黑屏\"|\"加好友\"|\"假的\"|\"垃圾\"|\"烂\"|\"麻痹\"|\"你妹\"|\"骗\"|\"山寨\"|\"闪退\"|\"屎\"|\"收费\"|\"他妈\"|\"它妈\"|\"差\"|\"要钱\"|\"滚\"|\"妈的\"|\"楼上\"|\"楼下\"|\"mb\"|\"md\"|\"渣\"|\"靠\"|\"卡\"|\"坑\"|\"贱\"|\"操\"|\"BUG\"|\"死\"|\"擦\"|\"卧槽\"|\"傻逼\"|\"异常\"|\"草\"|\"尼玛\"|\"卸载\"|\"骂\"|\"流氓\"|\"不要脸\"|\"盗版\"|\"亲爱的用户朋友\"|\"客服\"|\"360\"|\"激活\"|\"无语\"]+";;target = source.replaceAll(regex, "***");return target;

本以为上面的代码可以实现如下的功能:

1:source = “我们很好”  输出为:“我们很好” ,但事实输出为:我们很***

2:source="t"    输出为:“t”   , 但事实输出为:“***”;

总之,没有达到预期需求,将里面的整词进行了拆分, 暂时还没有弄明白原因,但网上查后发现将上述代码中的regex调整为:

      String regex = "(?:TM|tm|吃shi|打不开|恶心|广告|黑屏|加好友|假的|垃圾|烂|麻痹|你妹|骗|山寨|闪退" +"|屎|收费|他妈|它妈|差|要钱|滚|妈的|楼上|楼下|mb|md|渣|靠|卡|坑|贱|操|BUG|死|擦|卧槽|傻逼|" +"异常|草|尼玛|卸载|骂|流氓|不要脸|盗版|亲爱的用户朋友|客服|360|激活|无语)";
便可实现将source中出现的 上述关键全部替换成***。

具体原因待解……

0 0
原创粉丝点击