java中的String.split() 中“|”作为分隔符的问题和数组长度问题

 

1,“|”作为分隔符 public static void main(String[] args) { String str = "abcdef|ghijk|lmno|pqrst|"; String[] array = str.split("|"); //用"|"作为分隔符 System.out.println("size="+array.length); for(String st: array){ System.out.print(st+","); } }以上函数运行后结果是:size=25,a,b,c,d,e,f,|,g,h,i,j,k,|,l,m,n,o,|,p,q,r,s,t,|,这个并不是我们想要得.这时候要把String[] array = str.split("|"); 改为 String[] array = str.split("\\|");就可以得到我们想要的结果了.以下是改过之后的代码: public static void main(String[] args) { String str = "abcdef|ghijk|lmno|pqrst|"; String[] array = str.split("\\|"); System.out.println("size="+array.length); for(String st: array){ System.out.print(st+","); } }运行结果如下:size=4abcdef,ghijk,lmno,pqrst,2, 数组长度问题,话不多说,直接看例子吧。public static void main(String[] args) { String str = "abcdef,ghijk,lmno,pqrst,,,"; String[] array = str.split(","); System.out.println("size="+array.length); for(String st: array){ System.out.print(st+","); } }运行结果:size=4abcdef,ghijk,lmno,pqrst,字符串后面的几个空值如果像需要的话,就要改为public static void main(String[] args) { String str = "abcdef,ghijk,lmno,pqrst,,,"; String[] array = str.split(",",-1); System.out.println("size="+array.length); for(String st: array){ System.out.print(st+","); } }运行结果:size=7abcdef,ghijk,lmno,pqrst,,,,

你可能感兴趣的:(java,c,String)