获取列表中的子字符串<;字符串>;使用Linq收集

本文关键字:字符串 gt 使用 Linq 收集 列表 lt 获取 | 更新日期: 2023-09-27 18:00:39

我有一个集合列表。

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",                 
            });

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

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

获取列表中的子字符串<;字符串>;使用Linq收集

使用Path.GetFileName而不是像这样的子字符串

var fileNames = mycollections.Select(r => Path.GetFileName(r)).ToList();

输出:

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

输出:

bus.jpg
car.jpg
truck.jpg
plane.jpg
ship.jpg

这个怎么样:

mycollections.Select(s => s.Split('/').Last());

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