Посчитать количество ключей в тексте

  • Автор темы Автор темы hameleonds
  • Дата начала Дата начала

hameleonds

Client
Регистрация
04.10.2015
Сообщения
63
Реакции
0
Баллы
6
И снова привет) Тыкните пожалуйста носом может где-то было, (не могу найти), мне нужно посчитать количество слов в тексте по ключу, т.е. если ключ - Малинка), то нужно посчитать сколько слов "малинка" в тексте, желательно так что бы он считал слова совпадения как в верхнем так и нижнем регистре), буду очень благодарен.
 
парсите текст ключем
(?i)малинка
Все совпадения в список. Потом получаете количество строк в списке.
 
парсите текст ключем
(?i)малинка
Все совпадения в список. Потом получаете количество строк в списке.
я так и сделал), просто думал что можно на C# для уменьшения количества экшенов.
 
Можно конечно. На C# всё можно сделать.
Только как Вы это сделаете, если не можете?
Учите код и делайте. В этой задаче нет ничего сложного, всего то там пара методов.
 
Решение (скопированное из в какой-то из тем форума).
Но считать оно будет по количеству строк.
Если же нужно именно по количеству слов - то наверно придется разбить еще каждую строку по разделителю в новый список, и выполнить этот же цикл поиска.

C#:
Развернуть Свернуть Копировать
var count=0;
var slovo= project.Variables["slovo"].Value; // Слово, по которому будем искать совпадения
var list= project.Lists["list"]; // Получаем список, в котором будем искать

// Блокируем лист на момент выполнения
lock(SyncObjects.ListSyncer) {

// ищем в каждой строчке в списке
    for(int i=0; i < list.Count; i++) {
       var str = list[i]; // читаем строку из списка

        // проверяем содержание текста в строке, если есть совпадение возвращаем "yes"
        if (str.Contains(slovo)) {
           count++
        }
   }
}
return count; // возвращаем количество строк в которых найдено совпадение
 
Код:
Развернуть Свернуть Копировать
string check = "a"; //ключ
string text = "aaaaaaaaaa"; //текст для обработки
return Regex.Matches(text,check).Count;
 
А как сделать что ключ можно было с любым регистром?

подсказали из скайпа
RegexOptions.IgnoreCase третьим параметром
 
Последнее редактирование:

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)