<개인공부>/[Python]

[python] 파이썬 replace 설명 및 예제

BlockDMask 2021. 7. 19. 00:30
반응형

안녕하세요. BlockDMask입니다.
오늘은 파이썬에 있는 replace 메서드에 대해서 알아보려고 합니다.

<목차>
1. 파이썬 replace 설명
2. 파이썬 replace 예제

 

1. 문자열 치환 replace 설명


1-1) replace 메서드 모양 

str.replace('변경하고 싶은 문자', '변경 후 문자')

str.replace('변경하고 싶은 문자', '변경 후 문자', 횟수)

문자열에서 변경하고 싶은 문자를 [횟수]만큼 변경하고 변경한 결과의 문자열을 반환해줍니다.
[횟수]를 따로 입력하지 않으면 문자열 내에서 매칭 되는 변경 문자를 모두 변경해서 반환합니다.

첫 번째 인자 : 변경하고 싶은 문자, 문자열을 입력합니다.
두 번째 인자 : 변경 후 문자, 문자열을 입력합니다.
세 번째 인자 : 입력을 하지 않으면 찾은 모든 문자를 변경하고, 특정 횟수만 변경하고 싶다면 숫자를 집어넣으면 됩니다.

만약에 찾아서 변경하고 싶은 문자열이 없는 경우에는 스무스하게 "아무 일도 일어나지 않고" 지나갑니다.

당연히 대소문자 구분합니다.

 

1-2) replace 메서드 간단 사용법

result = "Apple Banana Kimchi".replace('Kimchi', 'Korea')

이런 식으로 찾아서 변경하고 싶은 문자열 혹은 문자를 첫 번째 인자에 넣고
두 번째 인자로는 변경 문자를 넣습니다.

그럼 replace 함수가 "Apple Banana Kimchi"에서 Kimchi를 찾아서 Korea로 변경한 문자열을 반환해줍니다.

 

 

2. 파이썬 문자열 변환 replace 예제


name = "ABC DEF ABC ABC DEF def"

# 테스트 1
result1 = name.replace("DEF", "QWERT") # 모든 DEF를 QWERT로 변경
print(f"'{name}'.replace('DEF', 'QWERT') => {result1}" )

# 테스트 2
result2 = name.replace("ABC", "XYZZZ", 2) # ABC를 XYZZZ로 변경하는데 2번만 변경
print(f"'{name}'.replace('ABC', 'XYZZZ') => {result2}" )

# 테스트 3
result3 = name.replace("FFF", "GGG") # 모든 FFF를 GGG로 변경 (문자열에 없음)
print(f"'{name}'.replace('FFF', 'GGG') => {result3}" )

# 테스트 4
result4 = name.replace(' ', '$$') # 모든 공백을 $$으로 변경
print(f"'{name}'.replace(' ', '$$') => {result4}" )

# 테스트 5
result5 = name.replace('C', '*') # 모든 'C'를 *로 변경
print(f"'{name}'.replace('C', '*') => {result5}" )

첫 번째 테스트인 name.replace("DEF", "QWERT")를 보면 따로 세 번째 인자인 횟수를 입력하지 않고 진행을 시키니 문자열 name 안에 있는 모든 "DEF"를 찾아서 "QWERT"로 변경한 것을 알 수 있습니다.
그리고 name 맨 뒤에 있는 소문자 "def"를 변경하지 않는 것으로 보아 대소문자 구분을 하는 것을 볼 수 있습니다.

두 번째 테스트에서는 name.replace("ABC", "XYZZZ", 2)를 통해서 횟수를 지정해 주었습니다. name 문자열 내부에는 "ABC"라는 문자열이 세 개가 있는데 이중 2개만 "XYZZZ"로 변경된 것을 볼 수 있습니다.

세 번째 테스트에서는 name.replace("FFF", "GGG")를 작성했는데요. name 문자열에는 "FFF"가 존재하지 않습니다.
그렇기 때문에 변경되는 거 없이 문자열을 그대로 반환한 것을 볼 수 있습니다.

네 번째 테스트 name.replace(' ', '$$')에서는 공백(띄어쓰기)을 $$으로 변경해보았습니다.

다섯 번째 테스트에서는 name.replace('C', '*')에서는 문자 C를 특수기호 *로 변경해보았습니다. 

 

 

더 다양한 문자열 관련 메서드, 함수가 궁금하시다면 [바로가기]에서 확인하세요~

이상으로 파이썬 replace 함수에 대해서 알아보았습니다. 감사합니다.

반응형