如题,本人对正则的语法还不太清楚,最好能解释一下哦
比如D:\jeffery\index\mydata\data.properties
输出data.properties

解决方案 »

  1.   

    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;public class T {
    public static void main(String args[]) {
    List<String> files = new ArrayList<String>();
    File file = new File("path");
    String postfix = "^.*[.XXX]$"//以".XXX"结尾的文件
    String contain = "^.*[XXX].*$";//名字包含"XXX"的文件
    String prefix = "^[XXX].*$";//以"XXX"开头的文件
    File fileList[] = file.listFiles();
    for (File f : fileList) {
    if (f.isFile()) {
    if (f.getName().matches(postfix))
    //if (f.getName().matches(contain))
    //if (f.getName().matches(prefix))
    files.add(f.getName());
    }
    }
    System.out.println(String.valueOf(files));
    }
    }
      

  2.   

    为什么一定要用正则呢,搞了一小时也没搞出来
    怎么不用substring
    String str="D:\\jeffery\\index\\mydata\\data.properties ";        
    System.out.println(str.substring(str.lastIndexOf("\\")+1));