检索年月日

问题描述 投票:0回答:3

如何从文件名中检索年月日,如

MONTUE-API-202310031200340313.TXT

以下是不会改变的图案

MONTUE-API-{YEAR}{MONTH}{DAY}{TIMESTAMP}.TXT

我想从这个文件名中获取

{YEAR}{MONTH}{DAY}

MONTUE-API-202310031200340313.TXT

我正在尝试将输出设为

20231003

谢谢你

c# string c#-4.0 format
3个回答
1
投票

您可以通过获取“MONTUE-API-”后面的长度并提取 YYYYMMDD 的 8 位数字来利用

substring

C# 示例:

string fileName = "MONTUE-API-202310031200340313.TXT";
int startIndex = "MONTUE-API-".Length;
string dateTimeString = fileName.Substring(startIndex, 8);

0
投票

简单的方法是使用

Regex
并在
MONTUE-API-
字符串后查找 8 位数字。

示例是 C#:

var match = Regex.Match(fileName, @"MONTUE-API-(\d{8})");
if(match.Success)
{
    var value = match.Groups[1].Value;
}

您可以更进一步,通过使用更多组来检索

year
month
day

var match = Regex.Match(fileName, @"MONTUE-API-(\d{4})(\d{2})(\d{2})");
if(match.Success)
{
    var year = match.Groups[1].Value;
    var month = match.Groups[2].Value;
    var day = match.Groups[3].Value;
}

0
投票

我在问题中使用了

substring
,如Johnathan Barclay所评论,以达到我想要的结果

var output = input.Substring(11, 8);
© www.soinside.com 2019 - 2024. All rights reserved.