笔者在开发中,遇到需要对三方接口返回的报文进行处理,将对方填充的所有空格干掉,截取成list
使用正则表达式:split(“\s+”)
public static void main(String[] args) {
String str = "1111 22 33 888";
// 将以上信息进行分割,传统的split(" ")已经无法满足我们的需求
String[] split = str.split("\\s+");
List<String> stringList = Arrays.asList(split);
System.out.println(stringList);
}
打印结果:
但是上面方法,如果遇到全角的空格符号,依然会出问题,解决办法如下:
使用正则表达式:split(“(\s|\u00A0)+”)
str.split("(\\s|\\u00A0)+");
打印如下:
最后
为了是代码更加健壮,这里更推荐使用 str.split(“(\s|\u00A0)+”) 进行空格的截取