如何判断用split得到分割符号数量?
String nr= "a,s,se,我们,11,q ";
nra=nr.split( ", ");
if(nr.length()==5 ){这段代码;
}
else
{那段代码;
}
我的意思就是判断上面有5个逗号执行这段代码;反之执行那段代码;应该怎样才可以?
------解决方案--------------------如果用length()好像需要减1。
可以使用indexOf()从左向右检索字串,每次定位后统计数加1,直到得到的结果为-1
------解决方案--------------------if(nr.replaceAll([^,], " ").length == 5 ){
------解决方案--------------------你写错了!
String nr= "a,s,se,我们,11,q ";
String nra[]=nr.split( ", "); //拆分成数组
if(nra.length()==5 ){这段代码;
}
else
{那段代码;
}
------解决方案--------------------nra=nr.split( ", ");
if(nra.length()==5+1 ){
------解决方案---------------------------------------------------------------
1,分隔符是区分全角和半角拼写的,如:
String str = "a,b,c,d,e ";
String[] ctx = str.split( ", ");
for (String s : ctx){
System.out.println(s);
}
结果:
a
b
c,d
e
--------------------
2,如果分隔符在末尾,那么长度就不记末尾分隔符,如:
String str = "a,b,c,,d,e ";
length=6;
但:
String str = "a,b,c,d,e, ";
length=5;
String str = "a,b,c,d,e,,,, ";
length=5;
------解决方案--------------------public static void main(String args[]) {
String nr = "a,s,se,我们,11 ";
String[] arrray = nr.split( ", ");
if (arrray.length == 5) {
System.out.println( "is 5 ");
} else {
System.out.println( "not 5 ");
}
}
lz注意分割符的全角和半角区分。
,和,是不同的。