利用正则表达式从文件路径中提取出文件名(包含后缀)
发布时间:2020-12-14 01:32:11 所属栏目:百科 来源:网络整理
导读:利用正则表达式从文件路径中提取出文件名(包含后缀) 如:从 c:/test1/test1/文件.pdf 中提取 文件.pdf @Testpublic void test1() {// 正则表达式“.+/(.+)$”的含义就是:被匹配的字符串以任意字符序列开始,后边紧跟着字符“/”,// 最后以任意字符序列结尾
利用正则表达式从文件路径中提取出文件名(包含后缀)如:从c:/test1/test1/文件.pdf 中提取 文件.pdf @Test public void test1() { // 正则表达式“.+/(.+)$”的含义就是:被匹配的字符串以任意字符序列开始,后边紧跟着字符“/”, // 最后以任意字符序列结尾,“()”代表分组操作,这里就是把文件名做为分组,匹配完毕我们就可以通过Matcher // 类的group方法取到我们所定义的分组了。需要注意的这里的分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是m.group(0)。 String regEx = ".+/(.+)$"; String str = "c:/test1/test1/文件.pdf"; // String regEx = ".+\(.+)$"; // String str = "c:dir1dir2文件.pdf"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); if (!m.find()) { System.out.println("文件路径格式错误!"); return; } System.out.println(m.group(1)); } 运行结果为:文件.pdf 正则表达式“.+/(.+)$”的含义就是:被匹配的字符串以任意字符序列开始,后边紧跟着字符“/”,最后以任意字符序列结尾,“()”代表分组操作,这里就是把文件名做为分组,匹配完毕我们就可以通过Matcher 类的group方法取到我们所定义的分组了。需要注意的这里的分组的索引值是从1开始的,所以取第一个分组的方法是m.group(1)而不是 m.group(0)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |