"1.5".replaceAll(regex, "@")=="@@@"为什么啊?
"1.5.6.7".split(".").length==0为啥?
那我要按照"."来分割怎么办啊?

解决方案 »

  1.   

    StringTokenizer 这个类你可以去看一下,
    结贴吧
      

  2.   

    "1.5.6.7".split(".").length==0为啥?
    这个地方用点(.)不行,主要是点是特殊的字符,需要进行转义,像1楼那样用\\."1.5".replaceAll(regex, "@")=="@@@"为什么啊?
    这地方不能用replaceAll方法啊.那会把指定的regex全部替换掉的.用replace就可以了 
      

  3.   

    public StringTokenizer(String str,String delim)
        为指定字符串构造一个 string tokenizer 对象。 在 delim 参数中的字符是分隔标记的分隔符。String str = "1.5.6;7.8";
    StringTokenizer st = new StringTokenizer(str,"\\.;");
     while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
      

  4.   


    String str = "1.5.6.7";
    String[] temp = str.split("\\.");
    for(int i = 0; i < temp.length; i ++)
    {
       System.out.println(temp[i]);
      
    }
      

  5.   

    仔细看下正则表达式的写法和相关的语法
    "1.5.6.7".split("\\.").length
      

  6.   


    String.replaceAll(regx, replacement),前面的参数是一个正则表达式,如果不想用正则,可以使用String.replace(CharSequence target, CharSequence replacement)。String.split(String regex)的参数也是正则表达式,如果不想用正则,可以使用org.apache.commons.lang.StringUtils.split(String str)。"."是正则表达式中的特殊符号,代表任何字符,字符串"."在正则表达式中是"\.",写到程序里是"\\."