查找包含字符串的数组索引

时间:2017-09-01 19:38:38

标签: arrays vb.net

我有带标签和目标的文件,这是示例:

TAG1|TARGET1,TARGET2
TAG2|TARGET3,TARGET4

我首先使用File.ReadAllLines创建String Array

Dim MAIN As String() = File.ReadAllLines("")

在某些时候,我有一个目标,我需要知道什么是标记索引(它是哪个数组行),所以例如,如果我有TARGET3,我想知道它在第二行,所以它&& #39;在MAIN(1)中然后我可以抓住TAG = TAG2。

我无法正常工作,我尝试了几种方法:

Array.IndexOf(MAIN,"TARGET3")

总是返回-1,它使用完整的字符串tho,

Array.IndexOf(MAIN,"TAG2|TARGET3,TARGET4")

返回1.我尝试使用Array.FindIndex,是一样的。

所以我的问题是:如何获取部分数组项的索引。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用Linq以这种方式搜索您的数组

Dim search = "TARGET3"
Dim line = MAIN.FirstOrDefault(Function(x) x.Contains(search))

这将直接返回带有匹配单词

的行