반응형
문자열에서 어떠한 특정 인덱스에 위치한 하나의 값만 지우고 싶을 때나 여러개의 문자를 지울 때 쓰인다.
s.begin() + 3 : 문자열 s의 인덱스 3번
s.erase(s.begin() + 3, s.begin()+4) : 문자열 s의 인덱스 3번부터 인덱스 4번 전까지 지우기
#include <string>
#include <iostream>
using namespace std;
int main() {
string s = "123456";
s.erase(s.begin() + 3, s.begin()+4);
cout << s<<"\n";
s.erase(s.begin());
cout << s;
}
또한, s.begin()을 사용하지 않고 사용하는 방법도 있다.
s.erase(3) : 문자열 s 인덱스 3번부터 끝까지 다 지워라
s.erase(3,3) : 문자열 s 인덱스 3번부터 3개의 문자를 지워라
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "himynameis";
cout << " 인덱스 번호 \n";
for (int i = 0; i < s.size(); i++)
cout << i << " "; cout << "\n";
for (int i = 0; i < s.size(); i++)
cout << s[i] << " "; cout << "\n";
s.erase(3);
cout << s;
s = "himynameis";
s.erase(3, 3);
cout << endl;
cout << s;
}
반응형
'기타 > C++ 문법' 카테고리의 다른 글
<lower_bound, upper_bound> 정렬된 공간에서 이진 탐색 (0) | 2022.01.21 |
---|---|
<unordered_map> 자료구조 (0) | 2022.01.21 |
<erase/insert> 삭제 및 삽입 (0) | 2022.01.20 |
<vector> 반환값 (0) | 2022.01.20 |
<resize> 벡터 초기화 (0) | 2022.01.19 |
댓글