gpt4 book ai didi

c# - 如何获取正则表达式匹配字符串的文件路径?

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:59 24 4
gpt4 key购买 nike

我已经成功地用正则表达式匹配了一个文件夹中的多个字符串,其中包含带有“streamreader”的 txt.files,但我还需要获取匹配字符串的文件路径。如何获取匹配字符串的文件路径?

static void abnormalitiescheck()
{
int count = 0;

Regex regex = new Regex(@"(@@@@@)");
DirectoryInfo di = new DirectoryInfo(txtpath);

Console.WriteLine("No" + "\t" + "Name and location of file" + "\t" + "||" +" " + "Abnormal Text Detected");
Console.WriteLine("=" + "\t" + "=========================" + "\t" + "||" + " " + "=======================");

foreach (string files in Directory.GetFiles(txtpath, "*.txt"))
{
using (StreamReader reader = new StreamReader(files))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Match match = regex.Match(line);
if (match.Success)
{
count++;
Console.WriteLine(count + "\t\t\t\t\t" + match.Value + "\n");
}
}
}
}
}

如果可能,我也想输出字符串的文件路径。例如,

C:/..../email_4.txt 
C:/..../email_7.txt
C:/..../email_8.txt
C:/..../email_9.txt

最佳答案

因为您已经有了 DirectoryInfo,所以您可以获得 FullName属性(property)。

您还有名为 files 的文件名。要获取文件的名称和位置,您可以使用 Path.Combine

您更新后的代码可能如下所示:

Console.WriteLine(count + "\t" + Path.Combine(di.FullName , Path.GetFileName(files)) + "\t" + match.Value + "\n");

关于c# - 如何获取正则表达式匹配字符串的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301550/

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