Python/파이썬 기초

파이썬 replace 함수 사용 case 정리, 예시

jimmy_AI 2021. 12. 6. 18:05
반응형

파이썬 문자열(string) 자료형을 다룰 때, 유용하게 사용되는 replace 함수의

다양한 사용 예시를 이해하기 쉽게 정리해보도록 하겠습니다.

 

파이썬 replace 함수 : 기본 예시

replace 함수의 사용법은 간단합니다.

string0.replace(string1, string2) 로 지정하면,

 

string0 내의 string1 문자열을 모두 찾아서 string 2 문자열로 바꿔줍니다.

위에서 a혹은 ab가 z, zzz 등으로 바뀐 예시를 보시면 이해가 쉬울 것입니다.

 

replace는 한 글자, 혹은 여러 글자 모두에 적용이 가능하며,

빈 문자열로 바꾸는 것 또한 가능합니다.(특정 문자열 지움)

다음 예시를 살펴보겠습니다.

a = 'abcde abcde abcde'

# a를 지우는 효과
print(a.replace('a', ''))
# bcde bcde bcde

# 공백을 지우는 효과
print(a.replace(' ', ''))
# abcdeabcdeabcde

# 특수 케이스 : 모든 글자 사이에 z 추가
print(a.replace('', 'z'))
# zazbzczdzez zazbzczdzez zazbzczdzez

빈 문자열에서 바꾸는 것도 가능은 한데, 이 경우는

모든 글자 사이에 뒤에오는 문자열을 삽입하게 됩니다.

 

파이썬 replace 함수 : 여러번 적용

a = 'a,b,c,d,e!a,b,c,d,e!'

# replace 2번 적용 예시
a.replace(',', '').replace('!', '')
# abcdeabcde

# replace 3번 적용 예시
a.replace(',', '').replace('!', '').replace('c', ' ')
# ab deab de
반응형

replace 함수의 결과 반환 값도 문자열 자료형이기 때문에,

문자열에 적용할 수 있는 replace 함수 특성 상,

위의 예시처럼 여러 차례를 겹쳐서 적용하는 상황도 전혀 문제가 없습니다.

 

replace 함수 : 원하는 횟수만 적용, 뒤쪽부터 변경법

replace 함수의 3번째 인자에 숫자를 적어주면,

앞쪽부터 문자열을 탐색하며 해당 숫자 횟수 한도 내에서만

문자열 대치를 진행하게 됩니다.

 

뒤쪽부터 변경을 진행하고 싶을 때는, 순서를 뒤집은 후에 원하는 횟수 변경 후,

다시 순서를 뒤집는 간접적인 방법을 사용할 수 있습니다.

a = 'abcde abcde abcde'

# 가장 앞의 1, 2 글자만 변경
a.replace('a', 'z', 1)
# zbcde abcde abcde

a.replace('a', 'z', 2)
# zbcde zbcde abcde

# 뒤쪽부터 1글자 변경 예시 ([::-1] 은 뒤집는 방법)
a[::-1].replace('a', 'z', 1)[::-1]
# abcde abcde zbcde

# 뒤쪽부터 글자 변경 ab -> yz 로 바꾸고 싶을 때 주의
a[::-1].replace('ba', 'zy', 1)[::-1]
# abcde abcde yzcde

뒤쪽부터 글자를 바꾸는 경우, 길이 2 이상의 문자를 바꾸거나

바뀐 결과가 길이 2 이상인 경우는 원하는 순서를 뒤집어서

써주어야 한다는 점도 참고해주시면 좋을 듯 합니다.