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 );

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

解决方案 »

  1.   

    split方法  是 根据给定正则表达式的匹配拆分此字符串。那样写正则表达式无效会抛出异常
      

  2.   

    String m="do,ra,mi,fa,so";
     你字符串又没有*这个字符,就当然不会输出东西来啦
      

  3.   

    split()不支持“*”这种特殊符号,。好像要转义还是什么的
      

  4.   

    have a try
    String m="do*ra*mi*fa*so";
    String []mm=m.split("[*]");
      

  5.   

    public class Main {
        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 );
            
        }
    }
    执行结果
    do
    ra
    mi
    fa
    so
    5