본문 바로가기
Coding Test/C++ 줍줍

[c++ 줍줍] 문자열 내에 존재하는 특정 문자열 치환

by seoyamin 2022. 5. 22.

▷ 문제 상황

문자열 내부에 있는 특정 새끼 문자열을 다른 새끼 문자열로 치환하는 방법

 

ex )  "HappyBirthdayToYou"  →  "HappyChildren'sDayToYou" 

 

 

 

▶ 해결 방법 1

  replace( ) 이용

 

replace(시작 index , 바꾸려는 만큼의 길이 , "치환 문자열")

 

#include <iostream>
using namespace std;

int main() {

	string str1 = "apple-banana";
	cout << str1.replace(0,2, "xyz") << endl; // xyzle-banana

	return 0;
}

 

 

 

 

▶ 해결 방법 2 

regex_replace( ) 이용

 

regex_replace("치환 전 문자열 전체" , regex("타겟 문자열") , "치환 문자열" )

 

#include <iostream>
#include <regex>
using namespace std;

int main() {

	string str = regex_replace("apple-banana", regex("a"), "x");
	cout << str << endl;  //  xpple-bxnxnx

	return 0;
}