java split("||")字符串分割

String str = "1,1||1,1||1,1||1 ";
String[] strs = str.split("||");
System.out.println(strs.length);
for(int i = 0; i < strs.length; i++){
System.out.println(strs[i]);
}
输出结果为什么是
18

1
,
1
|
|
1
,
1
|
|
1
,
1
|
|
1
而用“&&”或其他字符串分割都没有问题?

第1个回答  推荐于2018-03-19
String[] strs = str.split("\\|\\|");
就可以了。|在正则表达式里表示或者的意思,转一下就好了。本回答被提问者和网友采纳
第2个回答  2009-08-17
String[] strs = str.split("\\|\\|");
就可以了。|在正则表达式里表示或者的意思,转一下就好了。

同意该观点!
第3个回答  2009-08-17
String[] strs = str.split("||");
这句话等同于String[] strs = str.split("");
因为“空”或上“空”还是“空”
第4个回答  2009-08-17
转移一下就行了
第5个回答  2009-08-17
查一下 正则表达式 ‘||’ 的匹配什么了