构造 string 的四种方法:
#include<iostream> #include<string.h> using namespace std; int main() { // 1. 同时展示常用的赋值操作 string s1; s1 = "hello world"; // 赋值 hello world s1.assign("hello world"); // 赋值 hello world s1.assign("hello world", 2); // 赋值 he s1.assign(10, "a",); // 赋值 aaaaaaaaaa // 2. const char *str = "hello world"; string s2(str); // hello world // 3. string s3(s1); // hello world // 4. string s4(10, 'a'); // "aaaaaaaaaa" return 0; }
字符串拼接、截取、删除、插入:+=
或 append
, substr
,erase
,insert
// 拼接
string s1 = "a"; // "a"
s1 += "bc"; // "abc"
s1.append("def"); // "abcdef"
s1.append("ghij", 3); // "abcdefghi"
// 截取
string s2 = s1.substr(1, 2); // “bc”, 从idx-1开始的2个
// 删除
string s2 = s1.erase(1, 2); // “adefghi”,删除 “bc”
// 插入
string s3 = s1.insert(1, "bc"); // "abcdefghi", 从idx-1开始插入 "bc"
字符串长度获取:length
或 size
string s1 = "abcdef";
cout << s1.length() << endl; // 6
cout << s1.size() << endl; // 6
字符串查找与替换:find
和 replace
string s1 = "abcdef";
cout << s1.find("de") << endl; // 3 -> 找到,位于 index 3
cout << s1.replace(1, 2, "1111") << endl; // a1111def -> bc(从idx-1开始的2个) 替换为 1111
字符串排序:sort
// 需要头文件 #include <algorithm>
string s1 = "acbfde";
sort(s1.begin(), s1.end()); // abcdef