怎么把字符串    http://192.168.2.3:8080/csdn.net/topics/new?ref=toolbar   中的ip替换成其他的ip,字符串中的ip是不固定的。也就是要替换从  ://  到 :之间的字符串

解决方案 »

  1.   


    public static String replaceIp(String targetStr,String newIp){
    int startIndex=targetStr.indexOf("//");
    int endIndex=targetStr.lastIndexOf(":");
    return targetStr.replace(targetStr.substring(startIndex+2, endIndex),newIp);
    }
      

  2.   


    public static String replaceIp(String targetStr,String newIp){
    return targetStr.replaceFirst("(?<=//)[0-9.]+(?=:)", newIp);
    }
    这样写也可以
      

  3.   


            String source = "http://192.168.2.3:8080/csdn.net/topics/new?ref=toolbar";
            System.out.println(source.replaceAll("(\\d{1,4}\\.){3}\\d{1,4}", "123456"));
      

  4.   

    +2是不是 从获取//再从中在ip开始???+2 是获取ip地址再字符串中的位置, startIndex是获取“//”在字符串中的位置,后移两位就是
    ip的开头字符的位置
      

  5.   

    +2是不是 从获取//再从中在ip开始???+2 是获取ip地址再字符串中的位置, startIndex是获取“//”在字符串中的位置,后移两位就是
    ip的开头字符的位置正确