6.删除元素/插入元素
string a; a.push_back('d'); // 插入一个字符 a.append("da"); // 插入一个字符串 a.pop_back(); // 删除一个最后一个字符 a.erase(n); // 从下标为n的位置开始删除一直到最后(下标从0开始) a.erase(n, k); // 从下标为n的位置开始删除k个字符 a += "da"; // 在末尾加上字符串 a = "da" + a; // 在开头加入字符串 a.insert(0,"Dsa"); // 在下标位0处开始插入字符串 a.insert(a.end(), cnt, '5'); // 在末尾插入cnt个'5'7.迭代器
string a; a.begin(); // 第一个元素的迭代器 a.end(); // 最后一个元素的下一位的迭代器8.遍历
// 1.迭代器遍历 for (string :: iterator it = a.begin(); it != a.end(); ++it) cout << *it << ends; 2.下标遍历 for (int i = 0; i < a.size(); ++i) cout << a[i] << ends; 3. c++方式遍历 for (auto ai: a) cout << ai << ends; 比较运算(string支持按照字典序进行比较) #include <bits/stdc++.h> using namespace std; int main() { string a = "a"; string b = "b"; cout << (a < b ); return 0; }10.取子串
string str = "dasd"; str.substr(0, 2); // str为"da" str.substr(0); // str为"dasd" str.substr(1, 19); // 要取的子串长度大于原串,那么把原串取完,str为"asd"11.查找
string s = "ssdo"; cout << s.find('d') << endl; // 得到d的位置,输出2 if (s.find('p') == -1) cout << "不存在" << endl; // 得到-1表明不存在