首页 >Java >java教程 >如何使用 Java 的字符串 split() 方法检索所有值,包括空值?

如何使用 Java 的字符串 split() 方法检索所有值,包括空值?

DDD
DDD原创
2025-01-04 10:54:34955浏览

How Can Java's String `split()` Method Be Used to Retrieve All Values, Including Empty Ones?

使用 Java 的字符串分割方法检索非空值

使用 split() 方法分割字符串时,必须了解如何分割字符串它处理空值。默认情况下,此方法会从结果数组中删除尾随的空字符串值。

要说明此行为,请考虑以下代码:

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);

预期结果是一个包含八个元素的数组,在双管道字符 (||) 表示的位置包含空字符串。但是,仅获得六个值:[5,6,7,8,9]。

覆盖默认行为

要检索非空值,请使用split() 方法的重载版本,将限制参数设置为负值:

String[] split = data.split("\|", -1);

通过将限制设置为负值值(在本例中为 -1),模式会应用尽可能多次,并且数组包含所有匹配和不匹配的值,无论它们是否为空。

理解文档

split() 方法的文档提供了对其的宝贵见解行为:

  • 如果限制大于零:数组的最后一个条目包含超出最后一个匹配分隔符的所有输入。
  • 如果限制为非正数: 模式被应用尽可能多次,并且数组可以有任何长度。
  • 如果限制为零: 尾随空字符串将被丢弃。

规则的例外

需要注意的是,删除尾随空字符串仅适用于通过拆分机制创建的字符串。分割前为空的字符串被视为原始字符串,不会被删除。

以上是如何使用 Java 的字符串 split() 方法检索所有值,包括空值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn