String split 方法空去掉的问题


public class faaa {
 public static void main(String[] args) throws Exception {
  
  
  String tt = "a,b,c,d,,,,";
  String[] t = tt.split(",");

  for (int i = 0; i < t.length; i++) {
   
   System.out.println(i + "=" + t[i]);
   
  }

 }
}

 

結果:

0=a
1=b
2=c
3=d

 

 

public class faaa {
 public static void main(String[] args) throws Exception {
  
  
  String tt = "a,b,c,d,,,,";
  String[] t = tt.split(",", 3);

  for (int i = 0; i < t.length; i++) {
   
   System.out.println(i + "=" + t[i]);
   
  }

 }
}

 

結果:

 

0=a
1=b
2=c,d,,,,

 

public class faaa {
 public static void main(String[] args) throws Exception {
  
  
  String tt = "a,b,c,d,,,,";
  String[] t = tt.split(",", -2);

  for (int i = 0; i < t.length; i++) {
   
   System.out.println(i + "=" + t[i]);
   
  }

 }
}

 

結果:

0=a
1=b
2=c
3=d
4=
5=
6=
7=

 

从上面的代码可以看出:关键是split(String s, int cnt)函数中的cnt参数,

 

一:cnt不填

后面都是空(不是空格)的情况,空会被舍去

二:cnt为负数

数据全部保留,不会舍去

三:cnt为正数:表示数据分成cnt个,空不舍去,即数组长度为cnt, 意:cnt如果大于所能分割的个数,则cnt为最大分割数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值