java 正则表达式和split分割字符串

分享一个今天遇到的坑!
直接上代码

public class test {
	

	public static void main(String[] args) {
		
		String ss="123,2,3";
		String regex="\\d";   \\数字的正则表达式
		String[] strings=ss.split(regex);
		System.out.println("strings'length:  "+strings.length);
		for(String i:strings) {
			
			if (i.isEmpty()) {
				
				System.out.println("null");
			}else {
				System.out.println(i);
			
			}
			
		}
	}
}

原本我以为通过数字分割字符串,string数组的长度应该是2,而且数组里面应该只有“,” ,但运行结果却是这样子的:
在这里插入图片描述
数组的长度是5,原来分割的时候从第0位开始,如果不符合条件,就储存空,直到符合条件才在对应位置开始顺序存储。

希望此贴可以帮助到大家!!

猜你喜欢

转载自blog.csdn.net/jihezhixin/article/details/84663321