C の文字列から特定の文字を効率的に削除する
データ処理アプリケーションでは、多くの場合、文字列から特定の文字を削除してクリーンアップする必要があります。データを標準化します。これは、ユーザーが必要な情報とともに括弧、ダッシュ、句読点などの追加文字を入力する可能性があるユーザー入力で特に一般的です。
C の文字列から不要な文字を効果的に削除するには、次のようにします。さまざまな文字列操作関数とアルゴリズムを活用します。簡単なアプローチの 1 つは、std::remove() 関数を erase() メソッドと組み合わせて使用することです。このアプローチには次の手順が含まれます。
このプロセスにより、指定された文字のすべてのインスタンスが文字列から確実に削除されます。弦。このアプローチを示す例を次に示します。
#include <iostream> #include <algorithm> int main() { string input = "(555) 555-5555"; char charsToRemove[] = "()-"; // Iterate through the 'charsToRemove' array for (unsigned int i = 0; i < strlen(charsToRemove); ++i) { // Use std::remove() to find and erase all occurrences of each character input.erase(std::remove(input.begin(), input.end(), charsToRemove[i]), input.end()); } // Output the cleaned string cout << input << endl; return 0; }
このアプローチを関数として一般化するには、removeCharsFromString():
void removeCharsFromString(string &str, char* charsToRemove) { for (unsigned int i = 0; i < strlen(charsToRemove); ++i) { str.erase(remove(str.begin(), str.end(), charsToRemove[i]), str.end()); } }
という関数を定義できます。この関数は次のように使用できます。
string input = "(555) 555-5555"; removeCharsFromString(input, "()-, "); cout << input << endl; // Output: 5555555555
このアプローチにより、効率的に削除されます。入力文字列から指定された文字を抽出し、クリーンで標準化されたバージョンのデータを生成します。
以上がC の文字列から特定の文字を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。