본문 바로가기
프로그래밍/C++

[C++ STL] 문자열 치환 (replace, regex_replace)

by 워킹독 2022. 12. 8.
728x90


문자열을 치환해주는 함수 (#문자열 변환 #문자열 변경)

  1. replace
  2. regex_replace

대상 문자열에서 지정한 위치부터 원하는 문자로 바꿈

대상 문자열에서 특정 문자열만 검색해 원하는 문자로 변환

 

 

replace

문자열을 치환해주는 함수인 replace 사용 방법

문자열.replace(시작 위치, 길이, 치환 문자열)
  • 시작 위치부터 지정한 길이만큼 문자열을 치환 문자로 변환.
  • 시작 위치 인덱스는 0부터 시작

 

지정한 위치부터 문자열을 치환하는 샘플을 보겠습니다.

1
2
string str1 = "abcdef";
cout << str1.replace(02"kk"<< endl;
cs

 

결과

kkcdef

변수 str1에 대입한 문자열을 replace 함수를 사용해 치환

시작 위치는 첫 번째 글자인 인덱스 0부터 두 글자를 치환

치환 문자는 kk

 

 

regex_replace

대상 문자열에서 문자열을 검색해 치환하기 위해서는 regex_replace를 사용

regex_replace.(대상 문자열, regex(정규식), 치환 문자열)
  • 대상 문자열에서 정규식으로 지정한 문자를 치환 문자열로 변환
  • #include <regex> 필요.

 

정규식에 지정한 문자열과 일치하는 모든 문자열을 치환

1
2
string str1 = regex_replace("aaa-bba-ccd-daf", regex("a"), "z");
cout << str1 << endl;
cs

 

결과

zzz-bbz-ccd-dzf

 

정규식에 문자열 a를 지정

대상 문자열인 변수 str1에 대입한 문자열중 a라는 문자를 찾아 치환 문자인 z 모두 변환

특정한 모든 문자를 변경하고 싶은 경우에는 regex_replace를 사용해 간단하게 치환

 

 

728x90
반응형

댓글