说是一个随意的IP
(192.168.123.256 222.111.111.125 地址)转换成
(192.168.123.256,222.111.111.125,地址)要求用String.replaceAll这个方法!
还要要求如果有什么1.1.2.3这样的ip地址补0成001.001.002.003
要求用java各位高手帮忙!

解决方案 »

  1.   

    对于第一个
    String s = "192.168.123.256 222.111.111.125 ";

    System.out.println(s.replaceAll(" ",","));
      

  2.   

    static String format(String arg, char formatChar, int len) {
    StringBuffer argBuf = new StringBuffer(arg);
    len = len - arg.length();
    while ((len--) > 0) {
    argBuf.insert(0, formatChar);
    }
    return argBuf.toString();
    } static String formatIp(String ip) {
    String[] arg = ip.split("[.]");
    StringBuffer t = new StringBuffer();
    for (int i = 0; i < arg.length; i++) {
    t.append(format(arg[i], '0', 3));
    t.append(".");
    }
    return t.substring(0, t.length() - 1).toString();
    }
      

  3.   


    对于第一个
    String s = "192.168.123.256 222.111.111.125 ";System.out.println(s.replaceAll(" ",","));  就是这样了
      

  4.   

    顶一下第一个可以使用replaceAll正则表达式解决第二个楼上方法可行,不过我想不出来有没有更好的办法
      

  5.   

    这是完整的
    public class Test {

    public static  void main(String[] args)
    {
    String s = "192.168.123.256 222.111.111.125 ";

    System.out.println(s.replaceAll(" ",","));

    String t = "1.1.2.3";
    String tt = "00"; String[] temp = t.split("\\.");
    StringBuffer finalIp = new StringBuffer();
    System.out.println(temp.length);
    for(String  i : temp)
    {
    System.out.println(i);
    finalIp.append(tt.substring(0,3-i.length()));
    finalIp.append(i);
    finalIp.append(".");
    }

    finalIp = new StringBuffer(finalIp.substring(0,finalIp.lastIndexOf(".")));
    System.out.println(finalIp.toString());

    }
    }
      

  6.   

    不是的后面还有个地址呢!你要那样的话
    (192.168.123.256 222.111.111.125 xx省 xx市)转换成
    (192.168.123.256,222.111.111.125,xx省 xx市)这样的正确的!
    String.replaceAll(" ",",")不就成了!
    (192.168.123.256,222.111.111.125,xx省,xx市,)对吗?
    还要考虑这个!
      

  7.   

    String strNum = line.replaceAll("\\p{Digit}\\p{Space}", ",");
    解决了!
    这样写就ok了!谢谢大家帮忙了!
      

  8.   

    String strNum = line.replaceAll("(\\d)\\p{Blank}","$1,");
    这样就可以了!
    现在大家帮忙解决补零问题!
      

  9.   

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (String s:"1.1.2.3".split("[.]")) {
            sb.append(new DecimalFormat("000").format(new Integer(s))).append(".");
        }
        System.out.println(sb.substring(0, sb.length() - 1));
    }//001.001.002.003
      

  10.   

    String strep3 = str.replaceAll("\\.(\\d{1,3})\\s+", ".$1,").replaceAll("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})","00$1.00$2.00$3.00$4").replaceAll("(^|,|\\.)0+(\\d{3})([\\.,])", "$1$2$3").replaceAll("(^|,|\\.)0+(\\d{3})([\\.,])", "$1$2$3");肯定没问题,哈哈就是麻烦,嘿嘿
      

  11.   

    chinareny2k() ( ) 信誉:100    Blog  2006-12-18 22:14:13  得分: 0  
     
     
       
    String strep3 = str.replaceAll("\\.(\\d{1,3})\\s+", ".$1,").replaceAll("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})","00$1.00$2.00$3.00$4").replaceAll("(^|,|\\.)0+(\\d{3})([\\.,])", "$1$2$3").replaceAll("(^|,|\\.)0+(\\d{3})([\\.,])", "$1$2$3");肯定没问题,哈哈就是麻烦,嘿嘿
    这个是正解,虽然有点麻烦,要求你用replaceAll,人家就是要考你正则表达式