본문 바로가기
  • 실행력이 모든걸 결정한다
유용한 정보, 링크

[C/C++] 모든 문자열 대체(replace) 하기

by 김코더 김주역 2022. 10. 7.
반응형

<string>의 find(), replace() 함수를 통해 모든 문자열을 대체할 수 있다.

아래 예제에서는 "1 and 2 and 3 and 4" 라는 문자열에 있는 모든 " and"을 ""로 대체했다.

int pos;
string target="1 and 2 and 3 and 4";
string pattern=" and";
string replace_str="";
while((pos=target.find(pattern))!=-1) target.replace(pos, pattern.length(), replace_str);
cout<<target;

결과

1 2 3 4

 

아래와 같이 함수를 만들어서 쓰면 편리할 것이다.

string replace_all(string target, string pattern, string replace_str) {
    int pos;
    while((pos=target.find(pattern))!=-1) target.replace(pos, pattern.length(), replace_str);   
    return target;
}

 

반응형

댓글