用正则表达式如何提取绝对路径下的文件名? 如题,本人对正则的语法还不太清楚,最好能解释一下哦比如D:\jeffery\index\mydata\data.properties输出data.properties 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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)); }} 为什么一定要用正则呢,搞了一小时也没搞出来怎么不用substringString str="D:\\jeffery\\index\\mydata\\data.properties "; System.out.println(str.substring(str.lastIndexOf("\\")+1)); 求解杭电ACM PROBLEM 1001 JAVA maven -o intall 报错 包不存在 向大家问一个超简单但是我不会的问题? 关于List的疑问 代码理解 怎么样在dialog上使鼠标变成等待状态? 关于Applet的问题 不能用jbuilder,我能用什么呀? 为什么我的Swing中没有mail包呢?即javax.mail.*时无mail呢? 主方法中 Thread.sleep ,为什么 catch不执行 socket 客户端的发送和接收问题 求助:用SWT做界面锁定的问题,急!
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));
}
}
怎么不用substring
String str="D:\\jeffery\\index\\mydata\\data.properties ";
System.out.println(str.substring(str.lastIndexOf("\\")+1));