【发布时间】:2015-02-21 14:40:46
【问题描述】:
我正在开发一种工具,该工具通过在 YouTube 播放列表中搜索正确的名称来修复不正确的文件名。此工具获取 YouTube 播放列表视频的标题并将它们存储在列表中:
static List<string> tracksList = new List<string>();
在此列表中存储所有正确名称后,该工具会在文件夹中执行搜索,它只会搜索扩展名为“.mp3”的文件:
DirectoryInfo dir = new DirectoryInfo(@"C:\folder");
FileInfo[] files = musicDir.GetFiles("*.mp3", SearchOption.TopDirectoryOnly);
在将所有 MP3 文件存储在 FileInfo 数组中后,它会循环遍历所有文件。该循环将逐个文件地进行,并使用每个文件的文件名检查 trackList 列表中最相似的值。我已经尝试过了,但它确实返回了一个空数组:
var trackMatch = tracksList.Where(track => track.Contains(file.Name.Replace(".mp3", "")))
.ToArray();
有什么办法可以做到吗?
【问题讨论】:
-
您使用的代码行只是生成一个列表,不会更改文件名,您遇到的具体问题是什么?
-
by "any stored value" 如果你的意思是标题中的一个词,你会遇到常用词和文章的问题。然后会出现标题没有元数据(
[FULL HQ + HD])但其他匹配的问题
标签: c# comparison compare match