std::basic_string<CharT,Traits,Allocator>::erase - cppreference.com
提供: cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
| (1) | ||
|
|
(C++20未満) | |
|
|
(C++20以上) | |
| (2) | ||
|
|
(C++11未満) | |
|
|
(C++11以上) (C++20未満) |
|
|
|
(C++20以上) | |
| (3) | ||
|
|
(C++11未満) | |
|
|
(C++11以上) (C++20未満) |
|
|
|
(C++20以上) | |
指定された文字を文字列から削除します。
1) index から始まる min(count, size() - index) 個の文字を削除します。
2) position の指す文字を削除します。
3) 範囲 [first, last) の文字を削除します。
引数
| index | - | 削除する最初の文字 |
| count | - | 削除する文字数 |
| position | - | 削除する文字を指すイテレータ |
| first, last | - | 削除する文字の範囲 |
戻り値
1) *this。
2) 削除された文字の直後の文字を指すイテレータ、またはそのような文字が存在しない場合は end()。
3) 削除前に last が指していた文字を指すイテレータ、またはそのような文字が存在しない場合は end()。
例外
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