经常有这种情况,需要将逗号分割的字符串,比如:aaa, bbb ,ccc,但往往是人工输入的,难免会有多空格逗号情况,比如:aaa, bbb , ccc, ,,这种情况使用split会解析出不正常的结果。
1.使用split分割
String str1 = "aaa, bbb , ccc, ,"; String[] arr1 = str1.split(","); List<String> list1 = new ArrayList<>(Arrays.asList(arr1)); System.out.println("split:"+list1);
结果:split:[aaa, bbb , ccc, ]
结果多了空格和元素。
2.使用StringUtils.tokenizeToStringArray分割
这种情况可以使用spring的StringUtils.tokenizeToStringArray,非常方便的去掉非正常输入空格和逗号。比如:
String str1 = "aaa, bbb , ccc, ,"; String[] arr2 = StringUtils.tokenizeToStringArray(str1, ","); List<String> list2 = new ArrayList<>(Arrays.asList(arr2)); System.out.println("StringUtils.tokenizeToStringArray"+list2);
结果:StringUtils.tokenizeToStringArray[aaa, bbb, ccc]
可以看到结果是我们预期的结果。
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/277490.html