JAVA split("|") 简单的问题~

String str = "现金|50";
String ss[] = str.split("|");

应该是ss[0] = "现金";
应该是ss[1] = "50";
ss长度共2

为什么我截取出来是ss长度是6个长度
ss[0] = "";
ss[1] = "现";
ss[2] = "金";
ss[3] = "|";
ss[4] = "5";
ss[5] = "0";
?????
高手帮忙解释一下?

1、首先在电脑中打开JAVA,然后在项目中引入hutool的jar包。

2、接着定义一个String类型的字符串,如下图所示。

3、然后再定义一个int类型的开始位置,和一个int类型的长度,如下图所示。

4、然后String s = StrUtil.subWithLength(str,fromIndex,length);//从指定位置开始,截取指定长度的字符串。

5、最后运行程序查看测试结果,就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-20
|
在正则里是个特殊字符,有意义所在的,或的意思
比如
",|;"按,或;来分隔

"|"等同于"",空或空的意思

正确的写法是
"\\|"或者"[|]"本回答被提问者和网友采纳
第2个回答  2010-01-02
“|”是个转义符,需要加特殊符号,程序才能正常识别。
同意一楼。
第3个回答  2010-01-02
String str = "现金|50";
String ss[] = str.split("\\|");

for(int i=0;i<ss.length;i++){
System.out.println(ss[i]);
}
第4个回答  2010-01-02
特殊字符需要转义。。。
String ss[] = str.split("\\|");