【发布时间】:2011-01-16 20:14:32
【问题描述】:
当我尝试围绕出现的“。”拆分字符串时split 方法返回一个长度为 0 的字符串数组。当我围绕出现的“a”进行拆分时,它工作正常。有人知道为什么吗?拆分不应该与标点符号一起使用吗?
【问题讨论】:
当我尝试围绕出现的“。”拆分字符串时split 方法返回一个长度为 0 的字符串数组。当我围绕出现的“a”进行拆分时,它工作正常。有人知道为什么吗?拆分不应该与标点符号一起使用吗?
【问题讨论】:
split 采用正则表达式。试试split("\\.")。
【讨论】:
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
【讨论】: