文字列内の母音、子音、数字、および特殊文字を見つける方法

文字列は文字のシーケンスです。これらの文字には、母音、子音、数字、または任意の特殊文字を使用できます。この記事では、特定の文字列内の母音、子音、数字、および特殊文字の合計数を見つける方法を学びます。

問題を理解するための例

例 1 : 与えられた文字列を "Welcome 2 #MUO" とします。

s = "ようこそ 2 #MUO"

指定された文字列には 5 つの母音があります: eoeU 、およびO

指定された文字列には 5 つの子音があります: Wlcm 、およびM

指定された文字列には 1 桁の数字があります: 2

指定された文字列には、 #と 2 つの空白の 3 つの特殊文字があります。

例 2: 指定された文字列を "This is @ inpuT String 2" とします。

s = "これは @ InpuT 文字列 2 です"

指定された文字列には 5 つの母音があります: iIIu 、およびi

指定された文字列には 12 個の子音があります: ThssnpTStrn 、およびg

指定された文字列には 1 桁の数字があります: 2

指定された文字列には、 @と 5 つの空白の 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 リポジトリ を参照してください。

インタビューのための文字列問題の練習

文字列の問題は、コーディング コンテストやインタビューで最もよく聞かれる質問の 1 つです。弦の基礎を理解し、有名な問題を練習してより良いエンジニアを目指します。

文字列から重複する文字を削除する、文字列に出現する最大文字を見つける、文字列がパリンドロームかどうかをチェックするなどの文字列の問題が有名です。

これらの問題も試してみませんか?