-
特定の文字を削除する方法:
std::remove_if
関数を使用して、特定の文字を削除します。
#include <algorithm> #include <string> void clean(std::string& str, char characterToRemove) { str.erase(std::remove_if(str.begin(), str.end(), [characterToRemove](char c) { return c == characterToRemove; }), str.end()); }
この例では、
clean
関数は与えられた文字列str
からcharacterToRemove
と一致する文字を削除します。std::string text = "Hello, World!"; clean(text, 'o'); // 結果: "Hell, Wrld!"
-
特定の文字列を削除する方法:
std::string
のfind
関数を使用して、特定の文字列を検索し、削除します。
void clean(std::string& str, const std::string& substringToRemove) { size_t position; while ((position = str.find(substringToRemove)) != std::string::npos) { str.erase(position, substringToRemove.length()); } }
この例では、
clean
関数は与えられた文字列str
からsubstringToRemove
と一致する部分文字列を削除します。std::string text = "Hello, World!"; clean(text, "o"); // 結果: "Hell, Wrld!"
-
正規表現を使用する方法:
std::regex
ライブラリを使用して、正規表現に基づいて文字列をクリーニングします。
#include <regex> void clean(std::string& str, const std::string& regexPattern) { std::regex pattern(regexPattern); str = std::regex_replace(str, pattern, ""); }
この例では、
clean
関数は与えられた文字列str
からregexPattern
に一致する部分文字列を削除します。std::string text = "Hello, World!"; clean(text, "[o, l]"); // 結果: "He Wrd!"
上記の方法は、与えられた文字列をクリーニングするための一般的な手法です。必要に応じてこれらの例を参考にして、独自のクリーニング関数を作成してください。