C#正则表达式 匹配磁盘路径和文件名
来源:互联网 发布:js中数组删除指定元素 编辑:程序博客网 时间:2024/06/07 02:36
正则表达式相关知识,参考MSDN文档:http://msdn.microsoft.com/zh-cn/library/az24scfc.aspx 和 http://msdn.microsoft.com/zh-cn/library/63ew9az0.aspx
class Program{ static void Main(string[] args) { Regex reg = new Regex(@"^(?<fpath>([a-zA-Z]:\\)([\s\.\-\w]+\\)*)(?<fname>[\w]+.[\w]+)"); Match result = reg.Match(@"D:\Program Files\AliWangWang\7.10.07C\emotions\TaoDoll\Sniffer.dat"); if (result.Success) { Console.WriteLine("[Full]:" + result.Value); Console.WriteLine("[Part1]:" + result.Result("${fpath}")); Console.WriteLine("[Part2]:" + result.Result("${fname}")); } Console.ReadLine(); }}
简单整理如下,方便以后调用(支持多后缀名):
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.Reflection;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { /// <summary> /// 路径分类 /// </summary> public enum RouteType { /// <summary> /// 仅文件名 /// </summary> NameOnly = 0, /// <summary> /// 文件名(包括后缀) /// </summary> FileName = 1, /// <summary> /// 仅后缀名(包括.) /// </summary> FileSuffix = 2, /// <summary> /// 除文件名之外的路径 /// </summary> PathExceptName = 3, /// <summary> /// 除后缀之外的路径 /// </summary> PathExceptSuffix = 4 } /// <summary> /// 程序入口函数 /// </summary> /// <param name="args"></param> static void Main(string[] args) { string strPath = @"D:\Program Files\Advanced PDF Password Recovery\Sniffer.dat.doc.bak.zip"; Console.WriteLine(GetPartRoute(strPath, RouteType.NameOnly)); Console.WriteLine(GetPartRoute(strPath, RouteType.FileName)); Console.WriteLine(GetPartRoute(strPath, RouteType.FileSuffix)); Console.WriteLine(GetPartRoute(strPath, RouteType.PathExceptName)); Console.WriteLine(GetPartRoute(strPath, RouteType.PathExceptSuffix)); Console.ReadLine(); } /// <summary> /// 正则获取文件路径 /// </summary> /// <param name="strRoute">完整文件名</param> /// <param name="rType">要获取路径类型</param> /// <returns></returns> public static string GetPartRoute(string strRoute, RouteType rType) { string strResult = string.Empty; Regex regex = new Regex(@"^(?<fpath>([a-zA-Z]:\\)([\s\.\-\w]+\\)*)(?<fname>[\w]+)(?<namext>(\.[\w]+)*)(?<suffix>\.[\w]+)"); Match result = regex.Match(strRoute); if (result.Success) { switch (rType) { case RouteType.NameOnly: strResult = result.Result("${fname}") + result.Result("${namext}");break; case RouteType.FileName: strResult = result.Result("${fname}") + result.Result("${namext}") + result.Result("${suffix}"); break; case RouteType.FileSuffix: strResult = result.Result("${suffix}"); break; case RouteType.PathExceptName: strResult = result.Result("${fpath}"); break; case RouteType.PathExceptSuffix: strResult = result.Result("${fpath}") + result.Result("${fname}") + result.Result("${namext}"); break; default: strResult = strRoute; break; } } return strResult; } }}
阅读全文
0 0
- C#正则表达式 匹配磁盘路径和文件名
- 用正则表达式获取文件名和路径
- 利用正则表达式从文件路径中匹配文件名
- java正则表达式匹配windows文件名带路径
- Java: 正则表达式匹配文件名
- nginx正则表达式匹配文件名
- nginx正则表达式匹配文件名
- 正则表达式,匹配文件名类型
- 正则表达式匹配.avi文件名
- c#正则表达式匹配整数和小数
- C#正则表达式 匹配
- C#正则表达式匹配HTML中的图片路径
- C#正则表达式匹配HTML中的图片路径
- 匹配文件名的正则表达式,正则表达式中^和$的涵义
- 自定义java匹配文件名的正则表达式
- 匹配路径的正则表达式
- 正则表达式匹配(.和*)
- 路径变量中使用正则表达式匹配
- Python程序练习3--模拟购物车
- nginx学习随笔--multi_accept
- 函数声明与函数表达式的区别
- linux下读取bmp图片文件头
- Linux服务器修改ssh默认22端口方法
- C#正则表达式 匹配磁盘路径和文件名
- Elasticsearch常用配置及性能参数
- 多线程笔记
- 正则表达式30分钟入门教程
- 新浪微博created_at字段转换成java算法
- 文件转文件流,本地和远程
- java中对于synchronized 同步锁的理解
- jsp页面转换时间戳格式
- spring boot + redis 实现session共享