Найти индекс заданного элемента в массиве - Visual Basic .NET
Формулировка задачи:
Прошу, помогите. Уже не знаю как найти индекс в массиве
Имеется вот такой массив, кол-во строк от 100 до 10 000 может быть и также разно кол-во v\vt\vn\f и их числа:
Цифры после # могут быть любыми, они указывают кол-во v\vt\vn\f. Мне нужно найти названия vertices,texture vertices,vertex normals и faces и узнать их индекс в одномерном массиве
Я пробовал через
но выдавало много "-1". Других примеров по поиску куска текста в массиве не нашёл
P.S. пытаюсь прочесть .obj файл, сначала его заганяю в массив и там пытаюсь найти индексы. Разница между индексами начала v и vt укажут на кол-во v и т.д., либо же просто нужно найти "# цифра vertices" и буду знать сколько их, то же самое и с vt\vn\f
Спойлер
Листинг программы
- Dim masivObjFile() = IO.File.ReadAllLines(Application.StartupPath & "\OBJ" & NameFileObject & "_" & NomerObjFile & ".obj", System.Text.Encoding.Default)
- Dim FindThisString As String = "texture vertices"
- For Each Str As String In masivObjFile
- If Str.Contains(FindThisString) Then
- MsgBox("Found " & FindThisString & " at index " &
- Str.IndexOf(FindThisString))
- End If
- Next
Решение задачи: «Найти индекс заданного элемента в массиве»
textual
Листинг программы
- For Each M As System.Text.RegularExpressions.Match In System.Text.RegularExpressions.Regex.Matches(
- IO.File.ReadAllText(Application.StartupPath & "\OBJ" & NameFileObject & "_" & NomerObjFile & ".obj", System.Text.Encoding.Default),
- "^# (\d+) (vertices|texture vertices|vertex normals|faces)$",
- System.Text.RegularExpressions.RegexOptions.Multiline)
- MsgBox("Found " + M.Groups(2).Value + " at index " + M.Groups(1).Value)
- Next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д