从包含逗号分离值的字符串阵列中查找项目索引



下面是我的字符串数组:

string[] arr = { 
                 "region1.mp3,region1-sub.mp3,region1-sub1.mp3,region2-sub.mp3", 
                 "region2.mp3,region2-Sub1.mp3",
                 "region3.mp3" 
               };

下面是我试图在上面的字符串数组中搜索并获取索引的价值:

string searchItem = "region1-sub1.mp3";

这是我尝试搜索的方式,但是获得-1(-1指示找不到搜索):

int index = Array.FindIndex(arr, t => t == searchItem); // -1

我明白,因为我在字符串数组中的记录分开了,所以此搜索失败了。

那么,任何其他可以帮助我找到索引而无需循环和生成新字符串数组的方法?

预期输出:0

您想将每个字符串划分为逗号:

int index = Array.FindIndex(arr, t => t.Split(',').Contains(searchItem)); 

即使字符串不包含逗号,这也有效。

这将为您提供所需的输出。

int index = Array.FindIndex(arr, t => t.Contains(searchItem));

int index = Array.FindIndex(arr, t => t.Contains(searchItem));

这返回0。

最新更新