字符串常用函数

前言

瞎写的神秘笔记。

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)。

注:千万千万不要将这里第一个逗号后传入的数字记成了位置,这里逗号后传入的数字是我们要 ​替换的长度​!

posted @ 2026-08-11 22:07  Void__114  阅读(14)  评论(0)    收藏  举报