안녕하세요. 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 함수에 대해서 알아보았습니다. 감사합니다.
'<개인공부> > [Python]' 카테고리의 다른 글
[python] 파이썬 sort 리스트 정렬 (오름차순, 내림차순) (1) | 2021.09.11 |
---|---|
[python] 파이썬 and, or, not 논리 연산자 (10) | 2021.09.08 |
[python] 파이썬 평균 구하기 4가지 방법 (0) | 2021.07.26 |
[python] 파이썬 리스트 합치기 (+, extend, sum) (0) | 2021.07.23 |
[python] 파이썬 isdigit 숫자 판별 (0) | 2021.07.16 |
[python] 파이썬 폴더 생성 방법 os.mkdir, os.makedirs, os.getcwd (0) | 2021.07.15 |
[python] 파이썬 assert (가정 설정문)에 대해서 (1) | 2021.07.14 |
[python] 파이썬 삼항 연산자 (if ~ else ~) (0) | 2021.07.12 |