public static void main(String args[]) {
String str = "111.88.88.9";
String[] ids = str.split(".");
System.out.println(ids.length);
}为什么打印出来结果是0?有什么办法处理下

解决方案 »

  1.   

        public static void main(String args[]) {
            String str = "111.88.88.9";
            String[] ids = str.split("\\.");
            System.out.println(ids.length);
        }
      

  2.   

    public String[] split(String regex)
    根据给定正则表达式的匹配拆分此字符串。 
    "."代表任意字符
      

  3.   

    1、分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\\",如split(\\|);
    2、如果用"\"作为分隔,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\"的,字符串得写成这样:String Str="a\\b\\c";
     转义字符,必须得加"\\";
    3、如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开;本文来自: 免费资源收集网(www.freezq.cn) 详细出处参考:http://www.freezq.cn/article/380.htm
      

  4.   

    str.split是正则封装在STRING里的方法,遵循正则规则
      

  5.   

    java中的通配符还有很多,比如"^","?"等,多看看一些基本规则吧
      

  6.   

    1楼的public static void main(String args[]) {
            String str = "111.88.88.9";
            String[] ids = str.split("\\.");
            System.out.println(ids.length);
        }正解
    "." 是通配符。
    "//." 才是你想象中的"."
      

  7.   

    split是将传递的字符串作为正则表达式预言去分割
    而.是正则表达式中具有特殊含义的字符.需要用正则表达式的转义字符\去转义
    split("\\.")
      

  8.   


    String [] ids=str.split("\\.");
    这个是正确的,验证后的,虽然不知道内部工作情况,但结果是正确的。是“.”没有输出,“//.”没用
      

  9.   

    split 中的参数是正则表达式,如果对正则表达式不熟悉的话,可以采用:String[] ids = str.split(Pattern.quote("."));这种一劳永逸的方法。
      

  10.   

    split把一个字符串获取其他以什么分割,用作数组来处理!
      

  11.   

    .需要转移一下。    public static void main(String args[]) {
            String str = "111.88.88.9";
            String[] ids = str.split("\\.");
            System.out.println(ids.length);
        }