1、find和rfind是匹配整个字符串,find返回第一个匹配处的第一个字符位置,rfind返回最后一个匹配处的第一个字符位置。
2、find_first_of和find_last_of匹配字符串中的任一字符(匹配任意一个字符就够了),find_first_of返回第一个匹配的字符位置,find_last_of返回最后一个匹配的字符位置。
3、if (str1.find(substr) >= 0),不要这样用,因为找不到时find返回的npos虽然是-1,但是编译器在这里会默认转换为无符号,所以这句总是成立。应当用if (str1.find(substr) != std::string::npos)