我有在其他字符串中查找字符串出现的方法。我的问题是如何让它在小写和大写字母之间没有区别?
int occurrences = 0;
string::size_type start = 0;
while ((start = base_string.find(to_find_occurrences_of, start)) != string::npos) {
++occurrences;
start += to_find_occurrences_of.length();
}
答案 0 :(得分:3)
为什么不在搜索之前将两个字符串都设置为大写?
答案 1 :(得分:2)
在比较之前将两个字符串规范化为大写或小写。
这里给出了使用transform()函数使用标准库的tolower()或toupper()函数如何执行此操作的说明:https://stackoverflow.com/a/313990/2355444
答案 2 :(得分:2)
检查这个答案 - 使用带有自定义谓词的std :: search为我找到最好的方法
答案 3 :(得分:0)
将字符串中的所有字母设为大写/小字。
答案 4 :(得分:0)
尝试在比较的两侧使用tolower()
库中的toupper()
或<cctype> (ctype.h)
函数,以便任何差异都可以忽略不计。