substr 子串 :
s.substr(a, b); //在s中下标为a开始的b个字符,包括a,如果b大于s中a下标开始后面的元素个数,则只需到末尾。
erase 删除:
s.erase(a); //删除下标a以及a之后的字符
s.erase(a, b); //删除从下标a开始包括下标a在内的b个字符
find 查找:
string s1("Hello World");
s1.find("lo"); //在s1中从前向后查找"lo"第一次出现的地方,如果找到,返回"lo"开始的位置,即 'l' 所在的位置下标;如果找不到,返回string::npos(string中定义的静态常量 int类型时为-1)
s1.find("ll", 1); //从下标为1的地方开始往后找
s1.rfind("lo"); //从后向前查找,返回 'l' 所在位置的下标
s1.find_first_of("abcd"); //在s1中从前向后找,"abcd"中任何一个字符第一次出现的地方。
s1.find_last_of("abcd"); //最后一次出现的地方,即从后往前找第一次出现的地方。
s1.find_first_not_of("abcd"); //不在"abcd"中的字母第一次出现的地方。
s1.find_last_not_of("abcd"); //不在"abcd"中的字母最后一次出现的地方。
//如果存在会返回子串开始的下标,如果不存在会等于 string::npos
getline 读取整行
string s;
getline(cin,s); //读取下一行
//注意如果在这之前用到过cin,要先清除缓存区cin.ignore