String s="xxx,sss,,,,"; String [] ss = s.split(","); for(int i = 0 ; i < ss.length ; i++){ System.out.println(ss[i]); }
String s="xxx|sss||||"; String [] ss = s.split("|"); for(int i = 0 ; i < ss.length ; i++){ System.out.println(ss[i]); }
第一个结果是
xxx
sss
为什么第二用|划分结果是
x
x
x
s
s
s
....
"|" 换成 "\|"
split接收的是正责表达式 需要转义!
[code="java"]String s="xxx|sss||||";
String [] ss = s.split("\|");
for(int i = 0 ; i < ss.length ; i++){
System.out.println(ss[i]);
}
[/code]
|是正则里的元字符啊,需要转义才能用。。好像是叫元字符的。。
楼上说得对
要转义哦\|
可以使用Pattern.quote("|")。遇到复杂的,也不用转那么多了。比转义好看点。