Java用点分割保留空字符串结果
在 Java 中,若要使用点(.)来分割字符串,可借助 String 类的 split 方法。不过,由于点在正则表达式里属于特殊字符,它代表任意单个字符,所以在使用时需要对其进行转义。
问题:如果需要统计该类型用点分割后的数组长度应该是6,但是正常的split分割结果是3
public static void main(String[] args) {
String s= "1.0.0...";
String[] arr = s.split("\\.");
System.out.println(arr.length);
}
下面为你提供几种不同情形下用点分割字符串的示例:
示例 1:简单的点分割
public static void main(String[] args) {
String str = "hello.world";
String[] parts = str.split("\\.");
for (String part : parts) {
System.out.println(part);
}
}
代码解释
split("\\."):通过双反斜杠对.进行转义,让其成为普通字符用于匹配。- 分割后的结果会存于
parts数组,然后逐个打印出来。
示例 2:处理多个连续的点
public static void main(String[] args) {
String str = "hello..world...java";
String[] parts = str.split("\\.");
for (String part : parts) {
System.out.println(part);
}
}
此示例中,不管有多少个连续的点,split 方法都会将它们当作分隔符,分割出相应的字符串部分。
示例 3:保留空字符串结果
默认情况下,split 方法会舍弃尾部的空字符串。若你想保留所有结果,包含空字符串,可使用第二个参数 -1:
public static void main(String[] args) {
String str = "hello..world.";
String[] parts = str.split("\\.", -1);
for (String part : parts) {
System.out.println("[" + part + "]");
}
}
在这个例子中,split("\\.", -1) 确保了即使分割出空字符串,也会被保留在结果数组里。
以上示例代码展示了在 Java 里如何使用点来分割字符串,同时也考虑了多个连续点以及保留空字符串结果的情况。
本文来自博客园,作者:杯酒-故人,转载请注明原文链接:https://www.cnblogs.com/BeiJiuGuRen/p/18820193

浙公网安备 33010602011771号