1. 程式人生 > >Java split 去掉了其中的空格,導致陣列length不對。

Java split 去掉了其中的空格,導致陣列length不對。

1.如果字串最後一位有值,則沒有區別,

2.若干最後n位都是切割符,split(" “)不會繼續切分,split(” ", -1)會繼續切分

String line = “a b c “;
String [] tmp = line.split(” “);
System.out.println(tmp.length+”------”);
for(int i=0;i<tmp.length;i++){
System.out.println(i+"="+tmp[i]);
}

String [] items = line.split(" “,-1);
System.out.println(items.length+”");
for(int i=0;i<items.length;i++){
System.out.println(i+"="+items[i]);
}
結果:
4------
0=a
1=b
2=
3=c
13


0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=

[java] view plain copy
String line = “a b c d”;
String [] tmp = line.split(" “);
System.out.println(tmp.length+”------");
for(int i=0;i<tmp.length;i++){
System.out.println(i+"="+tmp[i]);
}

String [] items = line.split(" “,-1);
System.out.println(items.length+”========");
for(int i=0;i<items.length;i++){
System.out.println(i+"="+items[i]);
}
結果:

13------
0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=d
13========
0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=d