假设我有一个字符串 str。
我想要检查 str 是否包含关键字:“samples”。 但是,“samples”可以以任何大小写形式出现,例如:“Samples”、“SamPleS”、“SAMPLES”。
这是我尝试的代码:
string str = "this is a FoO test";
if (str.find("foo") != std::string::npos){
std::cout << "WORKS";
}
这并不能检测到 "FoO" 子字符串。我能否通过某种参数进行忽略大小写的操作?或者我应该完全使用其他东西?
toupper
(或tolower
)和实际将整个字符串转换为大写(或小写)之间存在区别。请参阅这个与问题有点关联的答案。 - rici