gpt4 book ai didi

c# - 在 C# 中搜索字符串的子字符串列表

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

我有一个文件名列表:

 List<string> FileList = new List<string>();
FileList.Add("c:\fn1.rpt");
FileList.Add("c:\fn2wxy.txt");
FileList.Add("c:\fn3.pdf");

我有一个要删除的候选列表:

List<string> DeleleList = new List<string>();
DeleteList.Add("fn2")

我有一个循环遍历文件名的循环,我正在寻找正确的表达式,该表达式基本上可以确定 DeleteList 中的文件名片段是否与当前文件匹配。在这种情况下,我们将只删除 c:\fn2.txt。我可以迭代列表,但似乎一定有超出我智商的 Lambda 表达式。

如有任何帮助或建议,我们将不胜感激。

最佳答案

您不应该搜索子字符串,而应使用 System.IO.Path.GetFileNameWithoutExtension .

例如使用 LINQ(仅保留那些未出现在 DeleteList 中的名称):

fileNames = fileNames
.Where(n => !DeleteList.Contains(System.IO.Path.GetFileNameWithoutExtension(n)))
.ToList()

如果你想忽略大小写,那么将 fn2FN2 视为相等,使用:

.Where(n => !DeleteList.Contains(System.IO.Path.GetFileNameWithoutExtension(n), StringComparer.OrdinalIgnoreCase))

关于c# - 在 C# 中搜索字符串的子字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48687669/

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