【问题标题】:why is my string.length 0 if I split this string? [duplicate]如果我拆分此字符串,为什么我的 string.length 为 0? [复制]
【发布时间】:2014-07-12 04:04:25
【问题描述】:

这可能是一个非常简单的问题,但我会先给你代码。

import java.util.Scanner;

public class help {
public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);

    System.out.print("Give: ");
    String s = sc.next();

    String[] parts = s.split(".");

    System.out.println(parts.length);
}
}

即使我给出 192.168.1.1.1.1.1 或 1.2.3 或 ...parts.length 将始终为 0,有人可以向我解释为什么以及如何在我输入 1.2 时让它为 4 .3.4?

【问题讨论】:

    标签: java arrays split string-length


    【解决方案1】:

    因为"."是一个特殊字符,意思是“任意字符”。

    您需要对其进行转义才能将其用作字符“.”:

    String[] parts = s.split("\\.");
    

    【讨论】:

      【解决方案2】:

      您需要s.split("\\."),因为split 的参数是一个正则表达式。正则表达式中的. 字符表示“任何字符”,您需要使用反斜杠对其进行转义以使其表示“点”。

      【讨论】:

      • 这太愚蠢了。感谢您的快速解决方案。
      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      相关资源
      最近更新 更多