字符串常用函数
前言
瞎写的神秘笔记。
find 函数
如果要查找子字符串在原字符串中不存在,则结果为string::npos。你可以通过 if 分支判断是否找到子字符串:
if ( s.find("114514") != string::npos) {
// 查找到了
} else {
// 没有查找到
}
insert 函数
对于一个字符串 \(s\),我们可以通过 insert向指定位置(括号中,前是我们指定的位置)插入一个子字符串(括号中, 后是待插入字符串):
string s = "hello xiaohei";
s.insert(2, "114514");
cout << s << endl; // he114514llo xiaohei
我们也可以直接将插入的结果输出:
cout << s.insert(2, "114514") << endl;
substr 函数
对于一个字符串\(s\),我们可以通过 substr 截取它的一部分:
string s = "hello baby";
cout << s.substr(3) << endl; // lo baby
cout << s << endl; // hello baby
像上面这样进行操作后,在写的位置将得到的结果是从位置 3 往后的所有字符组成的子字符串(例如在这里就是 lo baby)。
如果想要获取指定的长度,我们可以再添加一个参数。
cout << s.substr(3, 5) << endl; // lo ba
s = s.substr(3, 5);
cout << s << endl; // lo ba
请注意,千万千万不要将这里逗号后传入的数字记成了位置,这里逗号后传入的数字是我们要 截取的长度!
replace 函数
对于一个字符串 \(s\),我们可以通过 replace 替换它的一部分:
string s= "hello baby";
cout << s.replace(1, 5, "red") << endl; // hredbaby
cout << s << endl; // hredbaby
向上面这样进行操作后,在写的位置将得到的结果是从位置 1 往后的 5 个字符组成的子字符串(例如在这里就是 lo ba)被替换成另一个字符串 red 以后的结果(在这里也就是 hredbaby)。
注:千万千万不要将这里第一个逗号后传入的数字记成了位置,这里逗号后传入的数字是我们要 替换的长度!

浙公网安备 33010602011771号