(转)java关于split分割字符串,空的字符串不能得到的问题

it2022-05-05  162

class  T {       public   static   void  main(String args[]) {        String num[]  =   new  String[ 11 ];        String sLine  =   " 101494|360103660318444|2008/06/17|周润英|1292.0|3085.76|2778.28|912.91|106.0||| " ;        num  =  sLine.split( " \\| " );         int  row  =   1 ;         for  (String s : num) {          System.out.println(row +++ " = " + s);        }      }    }  最有有三个|||,运行结果为 1=101494 2=360103660318444 3=2008/06/17 4=周润英 5=1292.0 6=3085.76 7=2778.28 8=912.91 9=106.0 查看API,有一个 public  String[] split(String regex,  int  limit);  limit 参数控制应用模式的次数,从而影响结果数组的长度。 如果限制 n 大于零,那么模式至多应用 n> - 1 次,数组的长度不大于 n,并且数组的最后条目将包含除最后的匹配定界符之外的所有输入。 如果 n 非正,那么将应用模式的次数不受限制,并且数组可以为任意长度。 如果 n 为零,那么应用模式的次数不受限制,数组可以为任意长度, 并且将丢弃尾部空字符串。  修改代码为 class  T {       public   static   void  main(String args[]) {        String num[]  =   new  String[ 11 ];        String sLine  =   " 101494|360103660318444|2008/06/17|周润英|1292.0|3085.76|2778.28|912.91|106.0||| " ;        num  =  sLine.split( " \\| " , - 1 );  //  这里使用-1作为参数         int  row  =   1 ;         for  (String s : num) {          System.out.println(row +++ " = " + s);        }      }    }   运行结果为 1=101494 2=360103660318444 3=2008/06/17 4=周润英 5=1292.0 6=3085.76 7=2778.28 8=912.91 9=106.0 10= 11= 12= 结果正常

转载于:https://www.cnblogs.com/lblxiaoyu/archive/2008/07/10/1239894.html

相关资源:java 中用split分割字符串,最后的空格等不被拆分的方法

最新回复(0)