Как найти в строке гласные, согласные, цифры и специальные символы

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

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

Пример 1 : Пусть данная строка будет «Добро пожаловать 2 #MUO».

s = "Добро пожаловать, 2 #MUO"

В данной строке 5 гласных: e , o , e , U и O.

В данной строке 5 согласных: W , l , c , m и M.

В данной строке 1 цифра: 2 .

В данной строке 3 специальных символа: # и два пробела.

Пример 2: Пусть заданной строкой будет «Это строка @ inpuT 2».

s = "Это строка @ InpuT 2"

В данной строке 5 гласных: i , I , I , u и i .

В данной строке 12 согласных: T , h , s , s , n , p , T , S , t , r , n и g .

В данной строке 1 цифра: 2 .

В данной строке 6 специальных символов: @ и пять пробелов.

Примечание. Пробел рассматривается как специальный символ в строке.

Подход к подсчету гласных, согласных, цифр и специальных символов в строке

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

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

Программа на C ++ для подсчета гласных, согласных, цифр и специальных символов в строке

Ниже представлена ​​программа на C ++ для подсчета гласных, согласных, цифр и специальных символов в строке:

Связанный: Лучшие каналы YouTube с кодом для обучения программированию

 #include <iostream>
using namespace std;
void countCharactersCategory(string s)
{
int totalSpecialCharacters = 0, totalDigits = 0, totalVowels = 0, totalConsonants = 0;
for (int i = 0; i < s.length(); i++)
{
char c = s[i];
// Alphabets family
if ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') )
{
// Converting character to lower case
c = tolower(c);
// Vowels
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
{
totalVowels++;
}
// Consonants
else
{
totalConsonants++;
}
}
// Digits family
else if (c >= '0' && c <= '9')
{
totalDigits++;
}
// Special characters family
else
{
totalSpecialCharacters++;
}
}
cout << "Total no. of vowels in the given string: " << totalVowels << endl;
cout << "Total no. of consonants in the given string: " << totalConsonants << endl;
cout << "Total no. of digits in the given string: " << totalDigits << endl;
cout << "Total no. of special characters in the given string: " << totalSpecialCharacters << endl;
}
// Driver code
int main()
{
// Test case: 1
string s1 = "Welcome 2 #MUO";
cout << "Input string: " << s1 << endl;
countCharactersCategory(s1);
// Test case: 2
string s2 = "This Is @ InpuT String 2";
cout << "Input string: " << s2 << endl;
countCharactersCategory(s2);
return 0;
}

Выход:

 Input string: Welcome 2 #MUO
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 5
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 3
Input string: This Is @ InpuT String 2
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 12
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 6

Программа Python для подсчета гласных, согласных, цифр и специальных символов в строке

Ниже представлена ​​программа Python для подсчета гласных, согласных, цифр и специальных символов в строке:

Связанный: Изучение Python? Вот как манипулировать строками

 
def countCharactersCategory(s):
totalSpecialCharacters = 0
totalDigits = 0
totalVowels = 0
totalConsonants = 0

for i in range(0, len(s)):
c = s[i]
# Alphabets family
if ( (c >= 'a' and c = 'A' and c = '0' and c <= '9'):
totalDigits += 1
# Special characters family
else:
totalSpecialCharacters += 1
print("Total no. of vowels in the given string: ", totalVowels)
print("Total no. of consonants in the given string: ", totalConsonants)
print("Total no. of digits in the given string: ", totalDigits)
print("Total no. of special characters in the given string: ", totalSpecialCharacters)

# Driver code
# Test case: 1
s1 = "Welcome 2 #MUO"
print("Input string: ", s1)
countCharactersCategory(s1)
# Test case: 2
s2 = "This Is @ InpuT String 2"
print("Input string: ", s2)
countCharactersCategory(s2)

Выход:

 Input string: Welcome 2 #MUO
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 5
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 3
Input string: This Is @ InpuT String 2
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 12
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 6

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

Программа на C для подсчета гласных, согласных, цифр и специальных символов в строке

Ниже представлена ​​программа на языке C для подсчета гласных, согласных, цифр и специальных символов в строке:

 #include <stdio.h>
#include <ctype.h>
#include <string.h>
void countCharactersCategory(char s[])
{
int totalSpecialCharacters = 0, totalDigits = 0, totalVowels = 0, totalConsonants = 0;
for (int i = 0; i < strlen(s); i++)
{
char c = s[i];
// Alphabets family
if ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') )
{
// Converting character to lower case
c = tolower(c);
// Vowels
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
{
totalVowels++;
}
// Consonants
else
{
totalConsonants++;
}
}
// Digits family
else if (c >= '0' && c <= '9')
{
totalDigits++;
}
// Special characters family
else
{
totalSpecialCharacters++;
}
}
printf("Total no. of vowels in the given string: %d ⁠n",totalVowels);
printf("Total no. of consonants in the given string: %d ⁠n",totalConsonants);
printf("Total no. of digits in the given string: %d ⁠n",totalDigits);
printf("Total no. of special characters in the given string: %d ⁠n",totalSpecialCharacters);
}
// Driver code
int main()
{
// Test case: 1
char s1[] = "Welcome 2 #MUO";
printf("Input string: %s
",s1);
countCharactersCategory(s1);
// Test case: 2
char s2[] = "This Is @ InpuT String 2";
printf("Input string: %s
",s2);
countCharactersCategory(s2);
return 0;
}

Выход:

 Input string: Welcome 2 #MUO
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 5
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 3
Input string: This Is @ InpuT String 2
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 12
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 6

Программа на JavaScript для подсчета гласных, согласных, цифр и специальных символов в строке

Ниже приведена программа на JavaScript для подсчета гласных, согласных, цифр и специальных символов в строке:

 <script>
function countCharactersCategory(s) {
var totalSpecialCharacters = 0, totalDigits = 0, totalVowels = 0, totalConsonants = 0;
for (var i = 0; i < s.length; i++) {
var c = s[i];
// Alphabets family
if ( (c >= "a" && c <= "z") || (c >= "A" && c <= "Z") ) {
// Converting character to lower case
c = c.toLowerCase();
// Vowels
if (c == "a" || c == "e" || c == "i" || c == "o" || c == "u") {
totalVowels++;
}
// Consonants
else {
totalConsonants++;
}
}
// Digits family
else if (c >= "0" && c <= "9") {
totalDigits++;
}
// Special characters family
else {
totalSpecialCharacters++;
}
}
document.write("Total no. of vowels in the given string: " + totalVowels + "<br>");
document.write("Total no. of consonants in the given string: " + totalConsonants + "<br>");
document.write("Total no. of digits in the given string: " + totalDigits + "<br>");
document.write("Total no. of special characters in the given string: " + totalSpecialCharacters + "<br>");
}
// Test case: 1
var s1 = "Welcome 2 #MUO";
document.write("Input string: " + s1 + "<br>");
countCharactersCategory(s1);
// Test case: 2
var s2 = "This Is @ InpuT String 2";
document.write("Input string: " + s2 + "<br>");
countCharactersCategory(s2);
</script>

Выход:

 Input string: Welcome 2 #MUO
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 5
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 3
Input string: This Is @ InpuT String 2
Total no. of vowels in the given string: 5
Total no. of consonants in the given string: 12
Total no. of digits in the given string: 1
Total no. of special characters in the given string: 6

Если вы хотите взглянуть на полный исходный код, использованный в этой статье, вот репозиторий GitHub .

Практикуйте задачи со строками для своих интервью

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

Удаление повторяющихся символов из строки, поиск максимального встречающегося символа в строке и проверка того, является ли строка палиндромом, – вот некоторые из известных проблем со строками.

Почему бы не попробовать и эти задачи?