String b="7500|2009-12-12 12:00:00";
String a[]=b.split("|");
结果却是 a[0]="";
         a[1]="7";我用split("2")就能成功截取。怎么回事?

解决方案 »

  1.   

    因为 split 是基于 regex expression 的,| 是 regex expression 的特殊字符。所以要用 String a[]=b.split("\\|"); 
      

  2.   


    顶!|是正则表达式的管道符。
        稍微说下为什么是"\\|",两个“\”。因为“|”是正则表达式的特殊字符,所以其前面要添加一个反斜杠(\)进行转义。因为反斜杠字符在字面含义的字符串中具有特殊的含义---它表示转义字符序列的开始---因此反斜杠自身必须用另一个反斜杠来转义,所以就有了两个“\”了。 ——见《java解惑》