c# - 正则表达式 - 按“_”分割并排除文件扩展名
问题描述
我需要AAA_BBB_CCC.extension
用“_”分割以下字符串,并从结果中排除任何文件扩展名。whereA
和可以是任何字符或空格B
。C
我希望得到AAA
和。BBB
CCC
我知道这\.(?:.(?!\.))+$
会匹配.extension
,但我无法将它与匹配的“_”结合起来进行拆分。
解决方案
使用该Path.GetFileNameWithoutExtension
函数从文件名中去除扩展名。
然后用于String.Split
获取包含三个项目的数组:
var fileName = Path.GetFileNameWithoutExtension(fullName);
var parts = fileName.Split('_');
var partAAA = parts[0];
var partBBB = parts[1];
var partCCC = parts[2];
如果部分总是相同的固定数量的字符长,您也可以使用该Substring
函数提取它们。无需在这里求助于正则表达式。
推荐阅读
- html - 在悬停的 SVG 元素上显示图像
- mysql - 如何安全地连接到私有 mysql 远程服务器并使用 R 获取数据?
- algorithm - 使用无关转换最小化 DFA
- php - 为什么整数上的 in_array 严格模式比非严格模式慢?
- tensorflow - 模块“tensorrt”没有属性“记录器”
- java - Spring MVC 转换 Spring Rest Api
- javascript - 从 ember lodash 中查找嵌套属性并选择值
- javascript - 错误无法读取未定义的属性“transpile”
- python - Coral Edge TPU 编译器无法转换 tflite 模型:模型未量化
- sharepoint - 如何根据其 GUID 获取 SharePoint 文件夹详细信息