基本操作
str.size(); || str.length();//文字列の長さを返す
str1.swap(str2); || swap(str1, str2);//str1とstr2を交換(前者推奨)
str.substr(pos, len);//pos位置からlen文字の部分文字列を取得
reverse(str.begin(), str.end());//文字列を反転
string str(count, ch);//ch文字をcount回繰り返した文字列を生成
sort(str.begin(), str.end());//文字列をソート
代入とコピー
部分コピー
str1.assign(str2, pos, len);//str2のpos位置からlen文字をstr1に代入
str.copy(buf, pos, len);//strのpos位置からlen文字をbufにコピー
完全コピー
str1 = str2;//str2をstr1に完全コピー
文字列結合
直接結合
str1 += str2;//str2をstr1末尾に追加
部分結合
str1.append(str2, pos, len);//str2のpos位置からlen文字をstr1末尾に追加
文字列比較
str1がstr2より小さい場合は負の値、等しい場合は0、大きい場合は正の値を返す(char*も可)
完全比較
str1.compare(str2); || strcmp(str1, str2);//文字列全体を比較
部分と完全比較
str1.compare(pos, len, str2);//str1のpos位置からlen文字とstr2全体を比較
部分同士の比較
str1.compare(pos1, len1, str2, pos2, len2);//str1とstr2の指定範囲を比較
文字列置換
部分置換
str1.replace(pos1, len1, str2, pos2, len2);//str1の範囲をstr2の範囲で置換
文字指定置換
str.replace(pos, len, count, ch);//指定範囲をch文字count回で置換
文字列挿入
str1.insert(pos, str2, pos2, len);//str1のpos位置にstr2の部分文字列を挿入
str1.insert(pos, count, ch);//str1のpos位置にch文字をcount回挿入
文字列削除
全削除
str.erase();//文字列を全消去
末尾削除
str.erase(pos);//pos位置以降を削除
範囲削除
str.erase(pos, len);//指定範囲を削除
文字列検索
前方検索
str.find(ch);//先頭から文字chを検索
str.find(ch, pos);//pos位置から後方へ検索
str.find_first_of(ch);//最初に見つかるchの位置
str.find_first_not_of(ch);//最初にchでない文字の位置
後方検索
str.rfind(ch);//末尾から前方へ検索
str.find_last_of(ch);//最後に見つかるchの位置
str.find_last_not_of(ch);//最後にchでない文字の位置