std::basic_string::erase
提供: cppreference.com
< cpp | string | basic string
| basic_string& erase( size_type index = 0, size_type count = npos ); |
(1) | |
| (2) | ||
| iterator erase( iterator position ); |
(C++11以前) | |
| iterator erase( const_iterator position ); |
(C++11およびそれ以降) | |
| (3) | ||
| iterator erase( iterator first, iterator last ); |
(C++11以前) | |
| iterator erase( const_iterator first, const_iterator last ); |
(C++11およびそれ以降) | |
文字列から指定した文字を削除します。
1)
index から始まる文字を min(count, size() - index) 個削除します。2)
position にある文字を削除します。3) 範囲
[first; last) の文字を削除します。目次 |
[編集] パラメータ
| index | - | 削除する最初の文字 |
| count | - | 削除する文字の数 |
| position | - | 削除する文字へのイテレータ |
| first, last | - | 削除する文字の範囲 |
[編集] 返り値
1) *this
2-3) 削除された一番最後の文字の次のイテレータ
[編集] 例外
1) index > size() なら std::out_of_range
2-3) (なし)
いずれの場合においても、どんな理由であれ例外が投げられたら、この関数は作用しません (強い例外保証)。 (C++11およびそれ以降)
[編集] 例
このコードを実行します
#include <iostream> #include <algorithm> #include <string> int main () { std::string s = "This is an example"; std::cout << s << '\n'; s.erase(0, 5); // "This " を削除する std::cout << s << '\n'; s.erase(std::find(s.begin(), s.end(), ' ')); // ' ' を削除する std::cout << s << '\n'; s.erase(s.find(' ')); // ' ' から文字列の終わりまで削除する std::cout << s << '\n'; }
出力:
This is an example is an example isan example isan
[編集] 参考
| 内容をクリアします Original: clears the contents The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数) | |