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 里如何使用点来分割字符串,同时也考虑了多个连续点以及保留空字符串结果的情况。

posted @ 2025-04-11 10:51  杯酒-故人  阅读(149)  评论(0)    收藏  举报