기타/C++ 문법

<erase> 문자열 지우기

배발자 2022. 1. 20.
반응형

문자열에서 어떠한 특정 인덱스에 위치한 하나의 값만 지우고 싶을 때나 여러개의 문자를 지울 때 쓰인다. 

 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

댓글