谁知道 String s;
s.split(",");

s.split("\[,\]");
的区别?

解决方案 »

  1.   

    第二个会报错吧.String split(String regex), 参数是个正则表达式
      

  2.   


    最大区别在 s.split("\[,\]"); 有语法错误。
    应该是 s.split("\\[,\\]");
      

  3.   

    那s.split("\\[,\\]");
    等于
    s.split(",");吗?
      

  4.   

    不等,
    s.split(",")是以 , 为分隔符  划断字符串,形成数组
    s.split("\\[,\\]")是以 [,] 为分隔符  划断字符串  形成数组
      

  5.   

    [,]在regular expression里不就是0个或者n个逗号吗?
      

  6.   

    可是你用了转义符啊, 应该这样:s.split(","); 等价于 s.split("[,]"); 
      

  7.   

    s.split("\\[,\\]")是以 [,] 为分隔符  划断字符串  形成数组能给个例子吗?
      

  8.   

    String ss = "a,b,c,d,e,f,g,";
    1,String[] s2 = {"a","b","c","d","e","f","g"};
    2,System.out.println(Arrays.toString(ss.split(",")));
    3,System.out.println(Arrays.toString(ss.split("\\[,\\]")));
    4,System.out.println(Arrays.toString(ss.split("[,]")));
    5,System.out.println(Arrays.toString(s2));/* output:
    [a, b, c, d, e, f, g]
    [a,b,c,d,e,f,g,]
    [a, b, c, d, e, f, g]
    [a, b, c, d, e, f, g]
    */
    2是根据给定正则表达式","的匹配拆分此字符串。
    3是根据给定正则表达式"[,]"的匹配拆分此字符串,由于在此串中没可与[,]匹配的字符串所以ss整体划分为一个字符串啦,由3的输出可以看出!