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("\\.")
.是转义字符,必须得加"\\";