Подсчет вхождений подстроки в большую строку — обычная задача в программировании. В этой статье мы рассмотрим различные методы решения этой задачи, а также приведем примеры кода на разных языках программирования.
Метод 1: использование встроенной функции count() (Python)
Python предоставляет встроенную функцию count()для подсчета вхождений подстроки в строку.
string = "Hello, hello, hello!"
substring = "hello"
count = string.count(substring)
print(count)  # Output: 3Метод 2: использование регулярных выражений (Python, Java, Ruby)
Регулярные выражения предлагают мощный и гибкий способ сопоставления и подсчета подстрок в строке. Вот пример на Python:
import re
string = "Hello, hello, hello!"
substring = "hello"
count = len(re.findall(substring, string, re.IGNORECASE))
print(count)  # Output: 3Функция re.findall()возвращает список всех непересекающихся совпадений шаблона в строке.
Метод 3: использование функции indexOf() (Java)
В Java вы можете использовать функцию indexOf(), чтобы найти индекс подстроки внутри строки. Повторно выполняя поиск подстроки и обновляя начальный индекс, вы можете подсчитать вхождения.
String string = "Hello, hello, hello!";
String substring = "hello";
int count = 0;
int index = 0;
while (index != -1) {
    index = string.indexOf(substring, index);
    if (index != -1) {
        count++;
        index += substring.length();
    }
}
System.out.println(count);  // Output: 3Метод 4: использование метода scan() (Ruby)
В Ruby вы можете использовать метод scan()для подсчета вхождений подстроки в строку.
string = "Hello, hello, hello!"
substring = "hello"
count = string.scan(substring).length
puts count  # Output: 3В этой статье мы рассмотрели несколько методов подсчета вхождений подстроки в строку. Мы рассмотрели методы использования встроенных функций, регулярных выражений и методов манипулирования строками в Python, Java и Ruby. В зависимости от вашего языка программирования и требований вы можете выбрать наиболее подходящий для вашей задачи метод.