我该怎样把一个字符串里的一些字符替换掉呢?
例如:
     str="什么是数据库";
    我想把"数据"换成"##",该用哪个函数?
    
    ss = "数据";
    str.replace(ss,"#");
   System.out.print(str);
   输出结果不对啊!

解决方案 »

  1.   


    String str="什么是数据库"; 
        //我想把"数据"换成"##",该用哪个函数? 
         
        String ss = "数据"; 
        str = str.replace(ss,"#"); //因为 String类型是不变的,每次都会生成新的来!跟原先的不是一个!
       System.out.print(str); 
      

  2.   

    没看见人家比你多了一个“str=”吗?
      

  3.   

    用正则表达式搞定!
    import java.util.regex.*;
    public class ttt { public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str="什么是数据库"; 
    String ss = "数据";
    System.out.print(str.replaceAll(ss,"##"));
    }}
    结果:什么是##库
      

  4.   

    发个变形版吧,复习下正则
    import java.util.regex.*;public class Test { public static void main(String[] args) {
    String str = "什么是数据库";
    String ss = "(.+?)(数据)(.+?)";
    System.out.print(str.replaceAll(ss, "我想说$1##$3呵呵"));
    }}
      

  5.   

    str = str.replaceAll(ss,"#");
      

  6.   

    replace的方法是生成一个新的字符串,替换之后
    String a = "abcd";
    String b = a.replace("c","d");
    a还是以前的字符串,而b才是你要的新字符串
    a=abcd
    b=abdd
      

  7.   

    答:没看见人家比你多了一个“str=”吗?有趣!原来多了个东西。