【30】C#实战篇——获取路径下的文件名(不包含路径和扩展名),文件名由连续的数字编号+连续的字母编号组成,并分离出文件名数字部分和英文部分

文章目录

  • [1 要求](#1 要求)
  • [2 分析 与 实现](#2 分析 与 实现)

1 要求

写一个函数,获取路径下的文件名(不包含路径和扩展名),并分离出文件名fileName ,文件名编号SN,文件名前缀WMT

输入文件路径,解析出不带"."后缀的文件名fileName,然后fileName进一步拆分为SN+WMF 格式,其中WMT是MatchFilter数组中去掉"."后缀的部分,那么 fileName 减去末尾的WMF就得到SN。

E:\MTF\A1\StandardData\00000000000001Tele.csv拆分结果 fileName = 00000000000001TeleSN = 00000000000001WMT =Tele

2 分析 与 实现

文件名由连续的数字编号+连续的字母编号组成,且顺序是数字标号在前,英文字母编号在后;

cpp 复制代码
 // 从文件路径中提取文件名并分割为数字编号和英文后缀
 private void ExtractFileNameParts2(string filePath, ref string fileName,ref string SN, ref string WMT)
 {
     fileName = Path.GetFileNameWithoutExtension(filePath); // 获取不带扩展名的文件名
     Regex regex = new Regex(@"(\d+)([a-zA-Z]+)$"); // 匹配文件名中的数字编号和英文后缀
     Match match = regex.Match(fileName);

     if (match.Success)
     {
         SN = match.Groups[1].Value; // 数字编号部分
         WMT = match.Groups[2].Value; // 英文后缀部分
     }
     else
     {
         SN = string.Empty;
         WMT = string.Empty;
     }
 }
相关推荐
甄天3 小时前
WPF和WinFrom区别
visualstudio·c#·wpf·winfrom
专注VB编程开发20年3 小时前
C# .NET支持多线程并发的压缩组件
开发语言·前端·c#·.net·多线程·zip·压缩
睿思达DBA_WGX4 小时前
Python的一次实际应用:利用Python操作Word文档的页码
python·c#·word
小码编匠1 天前
手把手教会设计 WinForm 高DPI兼容程序,告别字体模糊与控件乱飞(.NET 4.6.1/.NET 6.0)
后端·c#·.net
钩鸿踏月1 天前
复盘一个诡异的Bug之FileNotFoundException
c#·bug·.net
INSO1 天前
查漏补缺之Autofac
c#
INSO1 天前
查漏补缺之Autofac生命周期
c#
小乖兽技术1 天前
C#与C++交互开发系列(三十):C#非托管内存分配大比拼,哪种方式才是真正的性能王者?
c++·c#·交互
CodeCraft Studio1 天前
PPT处理控件Aspose.Slides教程:使用 C# 编程将 PPTX 转换为 XML
xml·c#·powerpoint·aspose·ppt转xml·ppt文档开发