Как подсчитать количество вхождений данного символа в строку

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

Примеры для понимания проблемы

Пример 1 : Пусть данная строка будет «она продает ракушки на берегу моря», а данный символ будет «s».

ул = "S он s флигель s s s еа ад s самая s еа s Hore"

ch = 's'

В данной строке восемь вхождений символа s .

Таким образом, на выходе получается 8.

Пример 2 : Пусть дана строка «Он выполнил три штрафных броска», а данный символ – «е».

ул = «Н х Thr е ж Thr й пт й бросает»

ch = 'e'

В данной строке шесть вхождений символа e .

Таким образом, на выходе получается 6.

Подход к подсчету общего количества вхождений символа в строку

Вы можете найти общее количество вхождений символа в строку, следуя приведенному ниже подходу:

  1. Инициализируйте переменную счетчика для хранения общего количества вхождений символа в строку.
  2. Перемещайте строковый символ за символом.
  3. Если символ строки совпадает с заданным символом, увеличьте значение счетной переменной.
  4. Наконец, верните переменную счетчика.

Программа на C ++ для подсчета общего количества вхождений символа в строку

Ниже приведена программа на C ++ для подсчета общего количества вхождений символа в строку:

 // C++ program to count occurrences
// of a given character in a string
#include <iostream>
#include <string>
using namespace std;
// Function to count the occurrences of
// the given character in the string
int countOccurrences(string str, char ch)
{
// Counter variable
int counter = 0;
for (int i = 0; i < str.length(); i++)
{
// check if the given character matches
// with the character in the string
if (str[i] == ch)
{
// if the given character matches with
// the character in the string,
// increment the counter variable
counter++;
}
}
return counter;
}
// Driver code
int main()
{
string str1 = "she sells seashells by the seashore";
char ch1 = 's';
cout << "Input string 1: " << str1 << endl;
cout << "Character " << ch1 << " has occurred " <<
countOccurrences(str1, ch1) << " times in the given string." << endl;
string str2 = "peter piper picked a peck of pickled peppers";
char ch2 = 'p';
cout << "Input string 2: " << str2 << endl;
cout << "Character " << ch2 << " has occurred " <<
countOccurrences(str2, ch2) << " times in the given string." << endl;
string str3 = "I saw Susie sitting in a shoeshine shop";
char ch3 = 'a';
cout << "Input string 3: " << str3 << endl;
cout << "Character " << ch3 << " has occurred " <<
countOccurrences(str3, ch3) << " times in the given string." << endl;
string str4 = "Near an ear, a nearer ear, a nearly eerie ear";
char ch4 = 'r';
cout << "Input string 4: " << str4 << endl;
cout << "Character " << ch4 << " has occurred " <<
countOccurrences(str4, ch4) << " times in the given string." << endl;
string str5 = "He threw three free throws";
char ch5 = 'e';
cout << "Input string 5: " << str5 << endl;
cout << "Character " << ch5 << " has occurred " <<
countOccurrences(str5, ch5) << " times in the given string." << endl;
return 0;
}

Выход:

 Input string 1: she sells seashells by the seashore
Character s has occurred 8 times in the given string.
Input string 2: peter piper picked a peck of pickled peppers
Character p has occurred 9 times in the given string.
Input string 3: I saw Susie sitting in a shoeshine shop
Character a has occurred 2 times in the given string.
Input string 4: Near an ear, a nearer ear, a nearly eerie ear
Character r has occurred 8 times in the given string.
Input string 5: He threw three free throws
Character e has occurred 6 times in the given string.

Программа Python для подсчета общего количества вхождений символа в строку

Ниже приведена программа Python для подсчета общего количества вхождений символа в строку:

Связанный: Как проверить строки с помощью логических методов в Python

 # Python program to count occurrences
# of a given character in a string
# Function to count the occurrences of
# the given character in the string
def countOccurrences(str, ch):
# Counter variable
counter = 0
for char in str:
# check if the given character matches
# with the character in the string
if char == ch:
# if the given character matches with
# the character in the string,
# increment the counter variable
counter += 1
return counter
# Driver code
str1 = "she sells seashells by the seashore"
ch1 = 's'
print("Input string 1:", str1)
print("Character", ch1, "has occured",
countOccurrences(str1, ch1),"times in the given string.")
str2 = "peter piper picked a peck of pickled peppers"
ch2 = 'p'
print("Input string 2:", str2)
print("Character", ch2, "has occured",
countOccurrences(str2, ch2),"times in the given string.")
str3 = "I saw Susie sitting in a shoeshine shop"
ch3 = 'a'
print("Input string 3:", str3)
print("Character", ch3, "has occured",
countOccurrences(str3, ch3),"times in the given string.")
str4 = "Near an ear, a nearer ear, a nearly eerie ear"
ch4 = 'r'
print("Input string 4:", str4)
print("Character", ch4, "has occured",
countOccurrences(str4, ch4),"times in the given string.")
str5 = "He threw three free throws"
ch5 = 'e'
print("Input string 5:", str5)
print("Character", ch5, "has occured",
countOccurrences(str5, ch5),"times in the given string.")

Выход:

 Input string 1: she sells seashells by the seashore
Character s has occurred 8 times in the given string.
Input string 2: peter piper picked a peck of pickled peppers
Character p has occurred 9 times in the given string.
Input string 3: I saw Susie sitting in a shoeshine shop
Character a has occurred 2 times in the given string.
Input string 4: Near an ear, a nearer ear, a nearly eerie ear
Character r has occurred 8 times in the given string.
Input string 5: He threw three free throws
Character e has occurred 6 times in the given string.

Программа на JavaScript для подсчета общего количества вхождений символа в строку

Ниже приведена программа JavaScript для подсчета общего количества вхождений символа в строку:

 // JavaScript program to count occurrences
// of a given character in a string
// Function to count the occurrences of
// the given character in the string
function countOccurrences(str, ch)
{
// Counter variable
var counter = 0;
for (let i = 0; i < str.length; i++)
{
// check if the given character matches
// with the character in the string
if (str[i] == ch)
{
// if the given character matches with
// the character in the string,
// increment the counter variable
counter++;
}
}
return counter;
}
// Driver code
var str1 = "she sells seashells by the seashore";
var ch1 = 's';
document.write("Input string 1: " + str1 + "<br>");
document.write("Character " + ch1 + " has occurred " +
countOccurrences(str1, ch1) + " times in the given string." + "<br>");
var str2 = "peter piper picked a peck of pickled peppers";
var ch2 = 'p';
document.write("Input string 2: " + str2 + "<br>");
document.write("Character " + ch2 + " has occurred " +
countOccurrences(str2, ch2) + " times in the given string." + "<br>");
var str3 = "I saw Susie sitting in a shoeshine shop";
var ch3 = 'a';
document.write("Input string 3: " + str3 + "<br>");
document.write("Character " + ch3 + " has occurred " +
countOccurrences(str3, ch3) + " times in the given string." + "<br>");
var str4 = "Near an ear, a nearer ear, a nearly eerie ear";
var ch4 = 'r';
document.write("Input string 4: " + str4 + "<br>");
document.write("Character " + ch4 + " has occurred " +
countOccurrences(str4, ch4) + " times in the given string." + "<br>");
var str5 = "He threw three free throws";
var ch5 = 'e';
document.write("Input string 5: " + str5 + "<br>");
document.write("Character " + ch5 + " has occurred " +
countOccurrences(str5, ch5) + " times in the given string." + "<br>");

Выход:

 Input string 1: she sells seashells by the seashore
Character s has occurred 8 times in the given string.
Input string 2: peter piper picked a peck of pickled peppers
Character p has occurred 9 times in the given string.
Input string 3: I saw Susie sitting in a shoeshine shop
Character a has occurred 2 times in the given string.
Input string 4: Near an ear, a nearer ear, a nearly eerie ear
Character r has occurred 8 times in the given string.
Input string 5: He threw three free throws
Character e has occurred 6 times in the given string.

Связанный: Как проверить, является ли строка палиндромом

Другие методы решения проблемы

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

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