gpt4 book ai didi

c# - 月、日和年的正则表达式反向引用?

转载 作者:行者123 更新时间:2023-11-30 15:32:35 25 4
gpt4 key购买 nike

我正在使用正则表达式语句来匹配文件名中的日期。我想将输出分成几组(我的语句就是这样做的)。

到目前为止,我已经测试了输出,但我似乎无法将我的组值传递给字符串,以便我可以使用它们创建目录。事实上,我似乎根本无法理解我的团队值(value)观。

我知道这可以在没有正则表达式的情况下完成,但我选择采用这种方式来尝试学习它。我的输入字符串是一个文件名 "Result5_14_20009 1_30_00 PM.xml"

如何创建一个字符串 "month" 并将值传递给第 1 组等?

这是我目前所拥有的:

private void btnSort_Click(object sender, EventArgs e)
{
string fileName = "Result*.xml";
string sourcePath = txtSource.Text;
string targetPath = txtDest.Text;

//Get Data from Filename
string[] files = System.IO.Directory.GetFiles(sourcePath);
Regex date = new Regex(@"([1-9]|[0-2])_(\d{2})_(\d{4})", RegexOptions.CultureInvariant);

foreach (string s in files)
{
Match m = date.Match(s);
if (m.Success)
{
//Pass Groups to String

//Create Dir for Group 3 (Year)
//Create Dir for Group 1 (Month)
//Create Dir for Group 2 (Day)
}
}
}

最佳答案

您可以通过 Match.Groups Property 访问群组和组值通过 Group.Value Property .要将组值组合成一个路径,您可以使用 Path.Combine Method . Ant创建目录,可以使用Directory.CreateDirectory Method :

string path = Path.Combine(
@"C:\Users\...\Foo", m.Groups[3].Value, m.Groups[1].Value, m.Groups[2].Value);

// path == @"C:\Users\...\Foo\2000\5\14"

Directory.CreateDirectory(path);

关于c# - 月、日和年的正则表达式反向引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18773544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com