카테고리 없음

split , erase, insert

영카이브 2022. 7. 25. 23:52

* c++ 에서는 split이 존재하지 않는다.  -----> 그래서 split을 직접 만들어야 한다. 

 

  • split = 기준을두고 그 기준에 따라 나누는 것을 의미한다

split을 하기위해서는 기준에 따라 나눈 문자열들을 넣어줄 배열이 보통 필요하다. 

그래서 먼저 임의의 배열을 하나 설정한다. 

그리고 기존 문자열 뒤에 기준점을 하나 더 추가해준다. 

--why ? 기준점 이전까지 잘라 배열에 넣어줄 것이기 때문. 

 

*while 문 응용

a = 문자열 시작 index 

b = 기준점이 있는 index

b - a  >>> 즉  substr을 사용해서 기준으로 한 문자열을 자른다. 

자른 문자열은 배열에 차례대로 넣는다. 

 

문제를 보면서 옆의 설명을 보라. 

 

 

  • 문자열.erase ( aidx, bidx ); =  문자열의 a번 인덱스에서 b번 인덱스까지 지운다.
  • 문자열.insert ( aidx, "삽입원하는 문자열" ); = 문자열의 a번 인덱스에 원하는 문자열을 삽입한다. 

* c++에서는 replace가 제공되지 않는다  ----> erase와 insert를 이용해서 replace를 할 수 있다. 

1. 빼고 싶은 단어를 erase를 이용해서 삭제한다.

2. 삽입하고 싶은 단어를 insert를 이용해 삽입한다. 

* while문을 응용하면 반복해서 원하는 단어들로 모조리 바꿀 수 있다.