当我尝试在“。”出现时拆分字符串。方法split返回一个长度为0的字符串数组。当我将“a”的出现分开时,它运行正常。有人知道为什么吗?分裂不应该使用标点符号吗?
答案 0 :(得分:14)
split采用正则表达式。试试split("\\.")
。
答案 1 :(得分:2)
String a = "a.jpg";
String str = a.split(".")[0];
这将抛出ArrayOutOfBoundException,因为split接受正则表达式参数和“。”是正则表达式中的保留字符,表示任何字符。 相反,我们应该使用以下语句:
String str = a.split("\\.")[0]; //Yes, two backslashes
编译代码时,正则表达式称为“\。”,这就是我们想要的
以下是我感兴趣的旧帖子的链接:http://junxian-huang.blogspot.com/2009/01/java-tip-how-to-split-string-with-dot.html