如何带着所有的文件.flg ' Extension并把号码列在一个列表上
本文关键字:号码 列表 一个 何带着 文件 flg Extension | 更新日期: 2023-09-27 18:01:58
我在c:'MyData中有文件,例如:
demo.txt
test.ini
COUNT030.flg
COUNT011.flg
COUNT020.flg
COUNT031.flg
COUNT045.flg
COUNT067.flg
我需要把所有扩展名为.flg
的文件,并把数字放在列表上,像这样:
30
11
20
31
45
67
如何在c# WinForm中做到这一点?
thanks in advance
可以使用Directory.EnumerateFiles(String, String)
或Directory.GetFiles
方法,掩码*.flg
。然后使用Path.GetFileNameWithoutExtension
提取无扩展名的file-name,然后应用regex 'd+$
匹配number。
的例子:
var result = Directory
.EnumerateFiles(path, "*.flg")
.Select(s => int.Parse(Regex.Match(Path.GetFileNameWithoutExtension(s), @"'d+$").Value));
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
var numbers = from fileInfo in dirInfo.EnumerateFiles("*.flg")
let fileName = Path.GetFileNameWithoutExtension(fileInfo.Name)
select int.Parse(fileName.Substring("Count".Length, 3));
List<int> lst = numbers.ToList();
因此,正如示例所承诺的:
DirectoryInfo di = new DirectoryInfo(@"c:'temp'");
FileInfo[] fis = di.GetFiles("*.flg");
foreach (FileInfo fi in fis)
{
Console.WriteLine("File Name: {0}, Full Name: {1}, Number: {2}", fi.Name, fi.FullName, fi.Name.Substring(fi.Name.LastIndexOf(".") - 3, 3));
}
要提取数字,请查看示例中的Substring。