java的split如何去除空值
时间: 2024-11-16 13:13:31 浏览: 27
在Java中,`String.split()` 方法用于将字符串按照指定的分隔符切分成一个字符串数组。如果你想要去除数组中的空值(例如,如果分隔符导致了空字符串),可以稍微处理一下返回的结果。
当你使用 `split()` 时,可以直接传递一个正则表达式作为参数,例如,`"[\\s]+"` 表示匹配一个或多个空白字符(包括空格、制表符、换行符等)。这样可以将连续的空格看作一个空值,并将其替换为单个空字符串。
下面是一个例子:
```java
String str = "Hello World, Java is great!";
String[] parts = str.split("[\\s]+"); // 使用空格或任意空白字符作为分隔
// 这里会有一个空字符串,因为它是由多个空格组成的
System.out.println(parts[0]); // 输出 ""
// 遍历并过滤掉空字符串
List<String> nonEmptyParts = Arrays.stream(parts)
.filter((value) -> !value.isEmpty())
.collect(Collectors.toList());
nonEmptyParts.forEach(System.out::println); // 输出:Hello, World, Java, is, great!
```
在这个例子中,我们先创建了一个数组,然后通过 `Arrays.stream()` 和 `filter()` 函数去除了所有空的字符串元素。
阅读全文