string

string

  1. 初始化
// 初始化一個string
string str;
str = "abc";
// 複製一個str
string s(str);
// 按要求複製一個str
string ss(str.begin(), str.begin() + 2);
  1. 求長度(時間複雜度爲O(1))
str.size();
  1. 判空(時間複雜度爲O(1))
str.empty();
  1. 清空
str.clear();
  1. 隨機訪問
string a;
str.front(); // 取第一個字符
str.back();  // 取最後一字符
a[10];  // 取第11個元素,下標爲10

6.刪除元素/插入元素c++

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.迭代器app

string a;
a.begin();  // 第一個元素的迭代器
a.end();  // 最後一個元素的下一位的迭代器

8.遍歷spa

// 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;
  1. 比較運算(string支持按照字典序進行比較)
#include <bits/stdc++.h>

using namespace std;

int main()
{
    string a = "a";
    string b = "b";
    cout << (a < b );
    return 0;
}

10.取子串code

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代表不存在
相關文章
相關標籤/搜索