Число вхождений подстроки в строку через цикл и IndexOf без учета регистра символов

144
10 марта 2022, 00:10

Всем Привет!

сделал программу с функцией которая должна делать следующее, прочитать текст из файла, и функция, которая считает количество вхождений некоторой строки в этот текст без учета регистра символов, нужно сделать с использование цикл и IndexOf , который принимает начальный индекс, с которого искать?

Код не работает выдаёт нули, подскажите пожалуйста что поправить?

   public static int GetAmountOccurrences(string inputString, string searchString)
    {
        int count = 0;
        int index = 0;
        while (!true)
        {
            if (inputString.IndexOf(searchString, StringComparison.OrdinalIgnoreCase) >= 0)
            {
                count++;
            }
        }
        return count;
    }
    static void Main(string[] args)
    {
        string currentLine;
        string[] splits = new string[2];
        int i = 0;
        string searchString = "r";
        using (StreamReader reader = new StreamReader("..\\..\\input.txt"))
        {
            while ((currentLine = reader.ReadLine()) != null)
            {
                splits[i] = currentLine;
                Console.WriteLine("Количество вхождений строки {0} = {1} ", splits[i], GetAmountOccurrences(splits[i], searchString));
                i++;
            }
        }
        Console.WriteLine("Чтение выполнено");
        Console.ReadKey();
    }
Answer 1
public static int GetAmountOccurrences(string inputString, string searchString)
{
    int i = 0;
    int x = -1;
    int count = -1; 
    while (i != -1)
    {
        i = inputString.IndexOf(searchString, x + 1, StringComparison.OrdinalIgnoreCase); 
        x = i;
        count++; 
    }
    return count;
}
Answer 2

Попробуй так

public static int GetAmountOccurrences(string inputString, string searchString)
    {
        return Regex.Matches(inputString, searchString).Count;
    }
READ ALSO
Имитация нажатие клавиши

Имитация нажатие клавиши

Пишу бота для одной игры на C#

67
Предотвращение утери данных с помощью Alert

Предотвращение утери данных с помощью Alert

У меня есть такая секция в приложении:

65
Многопоточность в c#

Многопоточность в c#

Решил проверить мои знания в многопоточности и решить стандартную задачу, благодаря ейВыбрал задачу, в которой нужно найти количество возможных...

183
работа с консолью браузера

работа с консолью браузера

Столкнулся с такой проблемойВ общем есть "Почти программа" , суть ее заключается что бы заходить на сайт и кликать по определенному html элементу

152