加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

利用正则表达式从文件路径中提取出文件名(包含后缀)

发布时间: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)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读