我有一个ListBox
,它有一个目录中的文件集合,我需要从中删除扩展名。它们都是m4a格式,因此应该更容易一些。但是我搜索过并找不到解决方案。
我对编程非常陌生,并希望得到一些帮助。如果我可以请求一个例子,我会非常感激,请你使用lstSong
而不是占位符,因为我对于占位符而不是示例感到困惑。
按要求写入的代码:
string[] songspaths = System.IO.Directory.GetFiles(librarypath + "/" + albumpath + "/" + songpath);
List<string> listsongs = new List<string>();
foreach (var f in songspaths)
{
string songs = f.Split('\\').Last();
lstSong.Items.Add(songs);
}
我不确定这段代码是如何工作的。我理解其中的大部分内容,但它是由朋友写的,以帮助我。这就是我之后要去做的原因。 再次感谢。
答案 0 :(得分:0)
从评论中了解您只需要文件的文件名,而不需要路径或扩展名。 为此,您可以使用Path.GetFileNameWithoutExtension
string[] songspaths = System.IO.Directory.GetFiles(librarypath + "/" + albumpath + "/" + songpath); // Get all the files from the specified directory
List<string> listsongs = new List<string>();
foreach (var f in songspaths)
{
lstSong.Items.Add(Path.GetFileNameWithoutExtension(f)); // Store the filename without path or extension in the list
}
并解释你朋友写的代码:
string songs = f.Split('\\').Last();
string.Split方法将字符串除以由给定字符分隔的子字符串数组。
在这种情况下,它是一个(escaped)反斜杠。
.Last()
返回数组的最后一个元素。