2012-03-13 5 views
0

Доза любой знает, как я могу подсчитать экземпляры определенного текстового вхождения в txt-файле с помощью VB.net. Лучшее объяснение, если я использую текстовое поле и набираю текст, как я могу использовать VB.net для поиска txt-файла для этой части текста и возврата суммы, подсчитанной в другом текстовом поле или ярлыке.count появление конкретного текста в txt-файле

ответ

0

Вы также можете использовать LINQ для достижения этой цели:

Dim separator = {" "c} 
Dim words = (From line As String In IO.File.ReadLines("C:\Temp\SampleFile.txt") 
      From word In line.Split(separator, StringSplitOptions.RemoveEmptyEntries) 
      Where word = TxtWordToFind.Text).Count 

Тот же синтаксис метода (неразборчивый в VB):

words = IO.File.ReadLines("C:\Temp\SampleFile.txt"). 
     SelectMany(Function(line) line.Split(separator, StringSplitOptions.RemoveEmptyEntries)). 
     Where(Function(word) word = TxtWordToFind.Text).Count 
+0

Tim это выглядит просто отсчитывает слова, а не конкретные вхождений слова? –

+0

@ BartvanTuÿl: Я предполагаю, что вы пропустили 'Where word = TxtWordToFind.Text' в моем коде. В основном я читаю все строки в файле, разделяю их на слова (sepatared by '" "'), выбирая только слова, которые равны слову, введенному в TextBox (обратите внимание, что он чувствителен к регистру) и, наконец, подсчитайте Матчи. –

+0

Мои пристрастия У меня есть моя шляпа-стиупид на сегодня Тим, но я получаю эти слова, SelectMany и Where, у которых есть ошибки в декларации ..? –

Смежные вопросы