오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-08 04:42
관리 메뉴

우노

[C++] 특정 문자열 변경 및 치환 본문

Language/C++

[C++] 특정 문자열 변경 및 치환

운호(Noah) 2022. 5. 6. 15:35

들어가기 앞서,

  • C++ 에선, replace 와 regex_replace 를 사용해,
  • 특정 문자열을 변경 및 치환할 수 있습니다.

replace

  • replace 는, 대상 문자열의 위치 기반으로 문자열을 변경할 수 있습니다.

  • 사용 방법

    • 문자열.replace(변경 시작 index, 변경 길이, 변경 문자열)
  • 예제 코드

    • 다양한 오버로딩이 존재하지만, 간단한 예제만 다루겠습니다.

      #include <iostream>
      #include <string>
      
      using namespace std;
      
      int main() {
      
        string str1 = "aabbcc";
      
        cout << str1.replace(0, 2, "zz") << endl;
        //zzbbcc 
      
        return 0;
      }

regex_replace

  • regex_replace 는, 대상 문자열에서 정규 표현식에 해당하는 문자열을 검색한 뒤 변경할 수 있습니다.

    • 정규 표현식은 어떤 문자열을 검색하느냐에 따라 달라집니다.
  • 사용 방법

    • regex_replace.(대상 문자열, regex(정규표현식), 변경 문자열)
  • 예제 코드

      #include <iostream>
      #include <string>
      #include <regex>
    
      using namespace std;
    
      int main() {
    
          string str1 = "aaa...bbb";
    
          // 마침표(.)가 2번 이상 연속된 부분은 하나의 마침표(.)로 치환
          str1 = regex_replace( str1 , regex("[.]+"), "." );
    
          cout << str1 << endl; 
          // aaa.bbb
    
          return 0;
      }

'Language > C++' 카테고리의 다른 글

[C++] 특정 문자열 제거  (0) 2022.05.06
[C++] 문자열 추가 및 삽입  (0) 2022.05.06
[C++] 문자열 대문자 소문자 변환 방법  (0) 2022.05.06
[C++] 범위 기반 for 문  (0) 2022.04.26
[C++] 1차원 Vector 초기화  (0) 2022.04.26
Comments