本人Java菜鸟水平都达不到。问:
不用正则表达式,如何替换一段字符中所有的数字为:空
eg. 输入:1234 ABCD 564   输出: ABCD谢谢,在线等。恳请各位高人指点

解决方案 »

  1.   

    String source = "1234 ABCD 564";
    StringBuffer sb = new StringBuffer();
    for (char c : source.toCharArray())
      if (c<'0' || c>'9') sb.append(c);
    System.out.println(sb); //这就是结果
      

  2.   

    1楼正解
    其实通常正则最后才用,LZ可以多熟悉下Java的各种String操作Api
      

  3.   

    String str = "1234 ABCD 564";
    str = str.replaceAll("\\d", "");
      

  4.   


    还有其他方法吗?(Strnig的其他方法?)
      

  5.   

    我整个完整的代码吧。
    package com.walkman.forum_one;
    /**
     * 作者: 严振
     * 日期: 2011-7-8
     * 内容: 不用正则表达式,去除字符串中的数字
     */
    public class DeleteNumber { public static void main(String[] args) {
    String str = "walkman198408isyourfriend";
    DeleteNumber dn = new DeleteNumber();
    dn.deleteNum(new StringBuffer(str));
    } // 将非数字的部分拷贝到其他的StringBuffer中
    public void deleteNum(StringBuffer s) {
    StringBuffer strb = new StringBuffer();
    for(int i = 0; i < s.length(); i++) {
    if(s.charAt(i) >= '0' && s.charAt(i) <= '9'){

    }else{
    strb.append(s.charAt(i));
    }
    }
    System.out.println(strb);
    }
    }
      

  6.   


    package com.walkman.forum_one;
    /**
     * 作者: 严振
     * 日期: 2011-7-8
     * 内容: 不用正则表达式,去除字符串中的数字
     */
    public class DeleteNumber { public static void main(String[] args) {
    String str = "walkman198408isyourfriend";
    DeleteNumber dn = new DeleteNumber();
    dn.deleteNum(new StringBuffer(str));
    } // 将非数字的部分拷贝到其他的StringBuffer中
    public void deleteNum(StringBuffer s) {
    StringBuffer strb = new StringBuffer();
    for(int i = 0; i < s.length(); i++) {
    if(s.charAt(i) >= '0' && s.charAt(i) <= '9'){

    }else{
    strb.append(s.charAt(i));
    }
    }
    System.out.println(strb);
    }
    }
      

  7.   


    1楼用的StringBuffer的append对象,而且语法精简干练,一看就是一个老鸟了,
    4楼直接替换数字为空,针对题目,一枪中的,不得不说经验何其老道!看来论坛高手如云啊.