Подсчет вхождений подстроки в большую строку — обычная задача в программировании. В этой статье мы рассмотрим различные методы решения этой задачи, а также приведем примеры кода на разных языках программирования.
Метод 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. В зависимости от вашего языка программирования и требований вы можете выбрать наиболее подходящий для вашей задачи метод.