前言
由于参数传递,可能存在不规范行为,为了排除这种情况,需要对参数进行处理。本来以为简单的转换,却发现中间有点点坑,而且在百度时发现,有的实现思路确实不错,特此记录。
代码的实现功能
将String to = ""1350***@163.com;;;;\"\";134***@163.com";"
转换成String[] array = ["135***@163.com,134***@163.com";]
,去除中间的空值与""
具体代码
1.利用StringBuffer
遍历string[],先将不为空的值拼接成String,再利用split()方法
String[] aa = to.split(";");
//用StringBuffer来存放数组中的非空元素,用“;”分隔
StringBuffer sb = new StringBuffer();
for (int i=0; i<aa.length; i++) {
if (!"".equals(aa[i])) {
sb.append(aa[i]);
if (i != aa.length - 1) {
sb.append(";");
}
}