在C++中處理string匹配中的大小寫問題時,可以采用以下幾種方法:
使用標準庫函數 tolower
函數將字符串轉換為全小寫或全大寫。
#include <algorithm>
#include <cctype>
std::string str = "Hello World";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
在比較字符串時忽略大小寫。
#include <algorithm>
std::string str1 = "Hello World";
std::string str2 = "hello world";
if (std::equal(str1.begin(), str1.end(), str2.begin(), [](char c1, char c2) {
return std::tolower(c1) == std::tolower(c2);
})) {
// 字符串匹配成功
}
使用正則表達式進行大小寫不敏感的匹配。
#include <regex>
std::string str = "Hello World";
std::regex pattern("hello world", std::regex_constants::icase);
if (std::regex_match(str, pattern)) {
// 字符串匹配成功
}