日期:2014-05-20  浏览次数:20750 次

String的split()方法的疑问
我想完成像MyEclipse中通过一个完整的类路径,它就会自动生成多个路径供选择。如"cn.dragon.service.impl";就能得到cn,cn.dragon,等等。代码如下
Java code
 
public static void parseString(String path){
String[] array = path.split(".");
StringBuffer sb = new StringBuffer();
for(int i = 0;i <array.length;i++){
sb.append(array[i]+".");
System.out.println(sb.toString());
}

问题是好像split()方法不能按照"."来拆分字符串,换成“,”就能到达效果了,这是为什么?

------解决方案--------------------
参见API
java.util.regex 
类 Pattern
正则表达式的构造摘要 
预定义字符类 
. 任何字符(与行结束符可能匹配也可能不匹配)///////////////
\d 数字:[0-9] 
\D 非数字: [^0-9] 
\s 空白字符:[ \t\n\x0B\f\r] 
\S 非空白字符:[^\s] 
\w 单词字符:[a-zA-Z_0-9] 
\W 非单词字符:[^\w]
------解决方案--------------------
String.split("\\.")
.是转义字符,必须得加"\\";