String str="你去死,我操。";
str.replaceAll("正则表达式","*");
想得到的结果:你××,我×。请问怎么写?如果有一组敏感字段,字符串要怎么样才能被识别并被替换?
我自己写的例子:
public static void main(String[] args){
// TODO Auto-generated method stub
String s="你再去看看她,看她很性感,也很感性。";
System.out.print(s.replaceAll("[看看|再|性感]","*"));
}
}
得到的结果是:
你*去**她,*她很**,也很**其实我想得到是这样的结果:
你*去**她,看她很**,也很感性。

解决方案 »

  1.   

    一样的啊
    System.out.print(s.replaceAll("[去死|操]","X")); 
      

  2.   

    N多的词,应该也只是"单字"一类,用一次替换,"双字"类,再用一次替换.比如str=str.replaceAll("再","*").replaceAll("看看|性感","**");呃....貌似也很麻烦喵~``
      

  3.   

    试试看String s="你再去看看她,看她很性感,也很感性。"; 
    System.out.print(s.replaceAll("(看(?=看))|((?<=看)看)|再|(性(?=感))|((?<=性)感)","*")); 
    // 输出: 你*去**她,看她很**,也很感性。
      

  4.   


    s="你去死,我操。";
    System.out.print(s.replaceAll("(去(?=死))|((?<=去)死)|操","*")); 
    // 输出你**,我*。