public class Test {
public static void main(String[] args){
String str = "12+365+45+27+68";
String[] strArray = str.split("+");
for(int i=0; i<strArray.length; i++){
System.out.print(strArray[i]+" ");
}
}
}请问:
上面代码为什么出错?
如果把"+"换为":"或","就没错了;
"+"和另外两个有什么区别?
Thanks!

解决方案 »

  1.   

    +属于操作符 需要转义一下  String[] strArray = str.split("\\+");
      

  2.   


    public class Test {
        public static void main(String[] args){
            String str = "12+365+45+27+68";
            String[] strArray = str.split("\\+");
            for(int i=0; i<strArray.length; i++){
                System.out.print(strArray[i]+" ");
            }
        }
    }因为"+"是特殊字符
      

  3.   

    public class Test1 {
        public static void main(String[] args){
            String str = "12+365+45+27+68";
            String[] strArray = str.split("\\+");
            for(int i=0; i<strArray.length; i++){
                System.out.print(strArray[i]+" ");
            }
        }
    }
    转义就好了
      

  4.   

    +属于操作符 需要转义一下  String[] strArray = str.split("\\+");
      

  5.   

    split 的参数是个正则表达式,而 + 在正则表达式中属于特殊字符,在 Java 字符串中需要采用 \\+ 的形式进行转义。另外,除了 + 之外还有其他的特殊字符,在表示原义时需要转义:(  [  {  \  ^  $  |  }  ]  )  ?  *  +  .如果不想转义的话,可以采用 JDK 5 增加的一个方法进行处理:str.split(Pattern.quote("+"));
      

  6.   

    split 的参数是个正则表达式,而 + 在正则表达式中属于特殊字符,在 Java 字符串中需要采用 \\+ 的形式进行转义。 
      

  7.   

    String str = "12+365+45+27+68"; 报错的!!
      

  8.   

    String str = "12+365+45+27+68"; 报错的!!
    Type mismatch: cannot convert from String to String
      

  9.   

    public class Test
    {
    public static void main(String[] args)
    {
    String str = "12+365+45+27+68";
    String[] strArray = str.split("\\+");
    for (int i = 0; i < strArray.length; i++)
    {
    System.out.print(strArray[i] + " ");
    }
    }
    }
    加\\正确运行
      

  10.   

    package com.suypower.chengyu.string;public class StringDemo {
    public static void main(String[] args) 
    {
    // 如何按"+"分解字符串"12+365+45+27+68"? 
    String str = "12+365+45+27+68";
    String string [] = str.split("\\+");
    for(int i =0 ; i<string.length; i++)
    {
    System.out.println("string="+string[i]);
    }
    }
    }
      

  11.   

    String[] strArray = str.split("\\+");
      

  12.   

    split("\\+") split里面是正则表达式
      

  13.   

       public static void main(String[] args){
            String str = "12+365+45+27+68";
            StringTokenizer st = new StringTokenizer(str,"+");
            /*  while(st.hasMoreTokens()){
             System.out.println(st.nextToken());
            }*/
           while(st.hasMoreElements()){
             System.out.println(st.nextElement());
                    }
          }//注释内也可以用,呵呵,供参考 str.split("")...也不错
      

  14.   

    String string [] = str.split("\\+"); 
    这样就可以,这种问题我也有碰过。