比如我的路径为
c:\test\test\filename.txt
我现在就想取得文件名:filename
以及它的扩展名:txt
我现在写的是代码是
Pattern  p = Pattern.compile(".+\\.+(.+)\\.(.+)$");
编译时没错误,运行时出错

解决方案 »

  1.   

    干嘛要這樣呢
    String path = c:\test\test\filename.txt;
    String fileName = path.subString(path.lastIndexOf("\\"),path.length-path.lastIndexOf("\\"));
    String extName = path.subString(path.lastIndexOf("."),path.length-path.lastIndexOf("."));
    System.out.println("fileName="+fileName+"\n extName="+extName);
      

  2.   

    楼主的String定义有问题,
    \t,\f都有特殊含义。
    你运行如下,可以看到,src只有22个字符长度。
    String src = "c:\test\test\filename.txt";
    System.out.println(src.length());
    \t  制表符 ('\u0009') 
    \f  The form-feed character ('\u000C')