使用Linq获取List <string>集合中的子字符串

ven*_*kat 1 c# linq .net-4.5

我有一个收藏清单.

List<string> mycollections = new List<string>(new string[] 
            { 
                "MyImages/Temp/bus.jpg", 
                "MyImages/Temp/car.jpg", 
                "MyImages/Temp/truck.jpg", 
                "MyImages/Temp/plane.jpg", 
                "MyImages/Temp/ship.jpg",                 
            });
Run Code Online (Sandbox Code Playgroud)

我只需要列表中的文件,例如bus.jpg, car.jpg......在这里,我不需要 "MyImages/Temp/"在同一列表中的字符串的一部分.

我尝试使用Substring和Split与Linq查询,但无法获得预期的结果.

Hab*_*bib 11

使用Path.GetFileName而不是像子串一样:

var fileNames = mycollections.Select(r => Path.GetFileName(r)).ToList();
Run Code Online (Sandbox Code Playgroud)

输出:

var fileNames = mycollections.Select(r => Path.GetFileName(r));
foreach (var item in fileNames)
{
    Console.WriteLine(item);   
}
Run Code Online (Sandbox Code Playgroud)

输出:

bus.jpg
car.jpg
truck.jpg
plane.jpg
ship.jpg
Run Code Online (Sandbox Code Playgroud)


D S*_*ley 5

这个怎么样:

mycollections.Select(s => s.Split('/').Last());
Run Code Online (Sandbox Code Playgroud)

这将用斜杠分割每个字符串并返回最后一个项目。