diablo22 Ответов: 1

Как добавить номер строки


Dim files = From file In Directory.EnumerateFiles(txtFolder.Text, txtType.Text, SearchOption.AllDirectories)
                        From line In System.IO.File.ReadLines(file) Where line.Contains(txtFindWhat.Text) Select New With {file, line}

        For Each f In files
            Dim item As New ListViewItem($"{f.file}") 'First Column File Localtion
            item.SubItems.Add($"{f}") 'Second Column Add The line number where found the text
            item.SubItems.Add($"{f.line}") 'Third Column Text Search
            ListView1.Items.Add(item) 'Add Records
        Next

How to make in Second column to display the line number where it found in the file the text example: Test.txt asdasd Testa Geter Better

So i search for text "Better" and to display it in column 2 that it found it at line 4 in file


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

не могу найти решение для этого или я точно не знаю как это сделать

Richard MacCutchan

Просто используйте счетчик для подсчета строк текста, когда вы их читаете.

1 Ответов

Рейтинг:
7

Maciej Los

Если я вас хорошо понимаю, вы хотите вернуть номер строки, в которой был найден искомый текст...

Так:

string[] lines = {"asdasd", "Testa", "Geter", "Better"};
string tofind = "te";

var result = lines.Select((line, NoOfLine) => new {line, NoOfLine})
	.Where(l => l.line.Contains(tofind))
	.Select(l => l.NoOfLine)
	.ToList();
//returns: {2, 3}