Member 13643438 Ответов: 1

Как я могу искать определенную строку и возвращать всю строку целиком? В VB.NET


как я могу найти определенную строку из моих ресурсов.filetxt и вернуть всю строку?

e.g My.Resources.filetxt has following entries say :


england is cold country
england is cold country
england is cold country


теперь я хочу найти в этом текстовом файле строку "Англия" и вернуть всю строку, содержащую эту строку. Как я могу это сделать

Что я уже пробовал:

Findstring = My.Resources.filetxt
       Lookfor = TextBox2.Text
       'TextBox1.Text = IO.File.ReadAllLines(My.Resources.filetxt).FirstOrDefault(Function(x) x.Contains(Lookfor))

1 Ответов

Рейтинг:
1

OriginalGriff

Сделать это можно двумя способами:
1) разделите текст на отдельные строки и найдите в каждой строке свой текст. Это не особенно эффективно, особенно если ваш текст длинный и содержит много строк, поскольку он генерирует много отдельных строк. Однако реализовать его несложно - всего пара строк кода.
2) Используйте IndexOf, чтобы найти каждое вхождение строки по очереди: Строка.Метод IndexOf (String, Int32) (System)[^]. Затем вы можете использовать его снова с возвращенным индексом, чтобы найти конец строки, и Строка.Метод LastIndexOf (String, Int32) (System)[^] чтобы найти начало. Затем вы можете извлечь всю строку с помощью Строка.Метод Подстроки (Int32, Int32) (Система)[^]. Это немного больше работы, но будет намного быстрее, и вся нагрузка меньше свиньи памяти!