日期:2014-05-20  浏览次数:20623 次

问一个正则表达式
一个串,里面含有一些"Hello",我想把非Hello的部分都换成?,这个怎么做呢?
"d293kdHello03kjdHello<?$fjwHello--+" -> "??????Hello?????Hello??????Hello???"
谢谢大家。

------解决方案--------------------

------解决方案--------------------
.replaceAll("Hello", "@@@@@"); 
.replaceAll("[^@]", "?"); 
.replaceAll("@@@@@", "Hello");
------解决方案--------------------
Java code
public static void main(String[] args){
       String temp = "Hd293kdHello03kjdHello <?$fjwHello--+";
       String[] res = temp.split("Hello");
       String result="";
       for(int i=0;i<res.length;i++){
           for(int j=0;j<res[i].length();j++){
               result+="?";
           }
           if(i<res.length-1)
               result+="Hello";
       }
       System.out.println(result);
   }