2017-09-01 255 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