我想从给定的字符串中找到所有数字(所有数字都与字母混合但用空格分隔)。我尝试拆分输入字符串但是当检查结果数组时我发现有很多空字符串,那么如何更改我的拆分正则表达式以删除此空格?
Pattern reg = Pattern.compile("\\D0*");
String[] numbers = reg.split("asd0085 sa223 9349x");
for(String s:numbers){
System.out.println(s);
}
结果:
85
223
9349
我知道我可以遍历数组并删除空结果。但是如何只使用正则表达式呢?
最佳答案
如果您使用的是 java 8,您可以像这样在 1 个语句中完成:
String[] array = Arrays.asList(s1.split("[,]")).stream().filter(str -> !str.isEmpty()).collect(Collectors.toList()).toArray(new String[0]);
关于java - 如何在 Java 中使用正则表达式拆分后删除空结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25451331/