Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果,
如,
String str="中国|广东|深圳"; String[]location=str.split("|");
那么location==["中","国","|","广","东","|","深","圳"],8个元素的数组,因为它把竖线当做正则表达式(即"空或者空")来处理,而不是预期的包含"中国"、"广东"、"深圳"3个元素的数组。
应该按照正则表达式的语法,对竖线加以转义,写成
String[] location2=str.split("\|");
参考:plithttp://www.cnblogs.com/ywl925/p/3849466.html