c# - 使用正则表达式从文件名中提取日期
问题描述
我有以下名称结构:
GuidAsString/yyyy/MM/dd.zip
一个例子:
e1e2e854-e1cd-4980-83bb-2a0273f904aa/2018/11/18.zip
我想使用正则表达式提取日期。正则表达式不是我的事。
更新:我正在尝试做类似的事情:
DateTime dateTime = DateTime.ParseExact(name, format, formatprovider)
我正在寻找格式。如果你有更优雅的方式那就更好了。
我会很感激你的帮助。
解决方案
string input = @"e1e2e854-e1cd-4980-83bb-2a0273f904aa/2018/11/18.zip";
string pattern = @"/(\d+/\d+/\d+)";
var match = Regex.Match(input, pattern);
var date = DateTime.Parse(match.Groups[1].Value);
WriteLine(date.ToShortDateString());
// Prints: 18.11.2018
单线:
var date = DateTime.Parse(Regex.Match(@"e1e2e854-e1cd-4980-83bb-2a0273f904aa/2018/11/18.zip", @"/(\d+/\d+/\d+)").Groups[1].Value);
推荐阅读
- javascript - 如何在角度集成日志
- javascript - Flickr API 总是返回相同的数据
- python - 按混合数据类型过滤 DataFrame
- docker - Keycloak 安全代理不代理外部应用程序 URLl
- c# - 我如何将视图模型从视图上的表单返回到控制器
- grails - Grails 3.3.9:当视图位于项目结构中时,无法解析名称为“”的视图
- python - 错误:“NoneType”对象在连接层时没有属性“_inbound_nodes”(多输入模型)
- javascript - 链接操作(基于 DOM) - jquery mobile
- file - 如何使用所有代码库来识别网站中使用的软件、工具、组件和包?
- keras - 从 resnet50 导入 conv_block