题目:给定你一个字符串,如果字符串中有数字则用其后一位的字符替换,如果有_则用@替换。请高手编写一个方法...谢谢
String  replaceStr(string str){
....................................}

解决方案 »

  1.   

    http://topic.csdn.net/u/20101128/00/7233318a-72b9-4489-bf98-8fa5d5aa7fe3.html
      

  2.   


    //莫非...
    public static void main(String[] args) {
    String str = "1a2b3c4d_-";
            str = str.replaceAll("(\\d)([a-zA-Z])","$2$2");
            str = str.replace("_","@");
            System.out.println(str);
    }
      

  3.   

    看下jdk帮助吧 里面有很多例子的
      

  4.   

    nice
    但如果,后一位还是数字呢?
      String str = "1a2b3c445d_88aa_3q-";
          while(true){
       Matcher m=Pattern.compile("\\d.").matcher(str);
           if(str.equals("")||!m.find())
                  break;        str = str.replaceAll("(\\d)([a-zA-Z])","$2$2");
    }
            str = str.replace("_","@");
      

  5.   


    String replaceStr(String str) {
    str = str.replaceAll("(\\d+)([a-zA-Z])", "$2$2");
    str = str.replaceAll("_", "@");
    return str;
    }