【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;
     }
 }
相关推荐
hixiong1236 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#
月昤昽8 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_20258 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
雪度娃娃11 小时前
基于TCP的网络词典
网络·c++·tcp/ip·c#
xxjj998a12 小时前
PHP vs C#:两大编程语言终极对比
开发语言·c#·php
工程师00712 小时前
C# 泛型:约束、协变逆变、底层模板生成机制
c#·泛型·逆变·协变
bestcxx13 小时前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
我是唐青枫13 小时前
内存为什么越来越高?C#.NET GC 详解:分代回收、LOH、终结器与性能优化实战
性能优化·c#·.net
游乐码14 小时前
c#反射笔记二
笔记·c#
工程师00714 小时前
C# 变量:生命周期、作用域、变量逃逸
c#·生命周期·作用域·逃逸