这可能是一个非常简单的问题,但我会先给你代码。
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
答案 0 :(得分:6)
您需要s.split("\\.")
,因为split
的参数是正则表达式。正则表达式中的.
字符表示"任何字符",并且您需要使用反斜杠转义它以使其表示" dot"。
答案 1 :(得分:2)
因为"."
是一个特殊字符,意思是"任何字符"。
你需要逃避它才能将它用作角色"。":
String[] parts = s.split("\\.");