2017-09-01 215 views
1

我有文件,标签和目标查找数组索引,这是例子:包含字符串

TAG1|TARGET1,TARGET2 
TAG2|TARGET3,TARGET4 

我开始用File.ReadAllLines

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

在某些时候,我创建字符串数组目标之一,我需要知道什么是标签索引(哪个数组行),例如,如果我有TARGET3我想知道它在第二行,所以它是在主(1),然后我可以抓住TAG = TAG2。

我无法得到它的工作,我试过几个方法:

Array.IndexOf(MAIN,"TARGET3") 

总是返回-1,它与满弦寿工作,

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

返回1.我试着用数组.FindIndex,是一样的。

所以我的问题是:如何获得部分数组项的索引。感谢您的任何帮助。

+0

@Steve,这是奇怪的事情 - 如果我做MAIN.Contains( “TARGET3”)它返回false – dwarfmine

回答

1

您可以使用LINQ来搜索您的阵列以这种方式

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

这将直接返回行与匹配的单词

+0

非常感谢!它工作:)) – dwarfmine

+1

@dwarfmine,'昏暗的搜索=“TARGET3” 昏暗的行= MAIN.FirstOrDefault(函数(x)x.Contains(搜索)'不会编译,你注意到了吗?它缺少a **) **。 Dim search =“TARGET3” Dim line = MAIN.FirstOrDefault(Function(x)x.Contains(search))'... – Codexer

+0

@Codexer感谢您的注意。用手书写 – Steve