std::basic_string<CharT,Traits,Allocator>::erase
提供: 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) | ||
basic_string& erase( size_type index = 0, size_type count = npos ); |
(C++20未満) | |
constexpr basic_string& erase( size_type index = 0, size_type count = npos ); |
(C++20以上) | |
| (2) | ||
iterator erase( iterator position ); |
(C++11未満) | |
iterator erase( const_iterator position ); |
(C++11以上) (C++20未満) |
|
constexpr iterator erase( const_iterator position ); |
(C++20以上) | |
| (3) | ||
iterator erase( iterator first, iterator last ); |
(C++11未満) | |
iterator erase( const_iterator first, const_iterator last ); |
(C++11以上) (C++20未満) |
|
constexpr iterator erase( const_iterator first, const_iterator last ); |
(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以上)
例
Run this code
#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
関連項目
| 内容をクリアします (パブリックメンバ関数) |