C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で禁止文字を削除する関数


[‘:’、‘?などの禁止文字を削除する関数を削除する方法について話し合います。 ‘、‘ \’、‘ /’、‘ <’、‘>’、‘ | ’、‘ *’]たとえば、文字列から

Input: str = “ Hello: Welco*me/ to Tu>torials point|. ”
Output: “ Hello Welcome to Tutorials point. ”
Explanation: Input String contains forbidden characters which got removed and new string has no forbidden characters.

Input: str = “ How/ are y*ou doi,ng? ”
Output: “ How are you doing ”

解決策を見つけるためのアプローチ

この問題に適用できる簡単なアプローチは、

です。
  • ストリングを任意の側からトラバースします。

  • 禁止されている文字に属しているかどうか、各文字を確認してください。

  • 禁止されている文字に属している場合は、その文字を削除します。

  • null値または新しい文字列を挿入して、文字の削除で禁止されている以外のすべての文字を挿入できます。

上記のアプローチのC++コード

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
// function to remove forbidden charcters.
void removeforbidden(char* str){
    int j = 0;
    int n =  strlen(str);
    // traversing through the string and searching for forbidden characters.
    for(int i = 0;i<n;i++){
        switch(str[i]){
            case '/':
            case '\\':
            case ':':
            case '?':
            case '"':
            case '<':
            case '>':
            case '|':
            case '*':
            // inserting null value in place of forbidden characters.
            str[j] = '\0';
            default:
            str[j++] = str[i];

        }
    }  
    // printing the string.
    for(int i = 0;i<n;i++)
        cout << str[i];
    return;
}
int main(){
    char str[] = "Hello: Welco*me/ to Tu>torial?s point|.";
    removeforbidden(str);
    return 0;
}

出力

Hello, Welcome to Tutorials point.

上記のコードの説明

  • Switch caseは、文字列の各要素が大文字と小文字でチェックされる文字列をトラバースするときに使用されます。

  • 文字が大文字と小文字が等しい場合は、ヌル文字に置き換えられます。

結論

このチュートリアルでは、[‘:’、‘?などの禁止文字を削除するための関数の作成について説明しました。 ‘、‘ \’、‘ /’、‘ <’、‘>’、‘ | ’、‘ *’]文字列をトラバースし、文字を禁止文字と照合することで、この問題を解決する簡単なアプローチについて説明しました。

また、C、Java、Pythonなどのプログラミング言語で実行できるこの問題のC++プログラムについても説明しました。このチュートリアルがお役に立てば幸いです。


  1. C ++の複素数のacos()関数?

    ここでは、複素数のacos()メソッドを確認します。複素数は、複素ヘッダーファイルを使用して使用できます。そのヘッダーファイルには、acos()関数も含まれています。これは通常のacos()関数の複雑なバージョンです。これは、複素数の複素アークコサインを見つけるために使用されます。 この関数は、入力パラメーターとして複素数を取り、出力としてアークコサインを返します。アイデアを得るための1つの例を見てみましょう。 例 #include<iostream> #include<complex> using namespace std; main() {   &nb

  2. 特定のケースに対してN文字のシーケンスを生成するC++プログラム

    これは、特定のケースに対してN文字のシーケンスを生成するC++プログラムです。 アルゴリズム Begin    function GenerateSequence() generate a Sequence of N Characters for a Given Specific Case:       Use rand() for generating random indexes.       Store the first character directly into the sequence.