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

发现一个问题,求解
Java code

public class Houst {
    public static void main(String[] args) {
        String m="do,ra,mi,fa,so";
        String []mm=m.split(",");
        for(int i=0;i<mm.length;i++)
            System.out.println(mm[i]);
        System.out.println(mm.length );
        
    }
}



把这段代码 所有 的“,”换成“*”后发现不对,为什么?
先谢谢各位了!

------解决方案--------------------
split方法 是 根据给定正则表达式的匹配拆分此字符串。那样写正则表达式无效会抛出异常
------解决方案--------------------
*在 正则中有特殊意义。代表着一次或多次!
------解决方案--------------------
split()不支持“*”这种特殊符号,。好像要转义还是什么的
------解决方案--------------------
have a try
Java code
String m="do*ra*mi*fa*so";
String []mm=m.split("[*]");