파이썬에서 문자열 치환은 주어진 문자열에서 특정한 부분 문자열을 찾아서 다른 문자열로 대체하는 작업을 말합니다. 이는 문자열 처리에서 매우 유용한 기능 중 하나이며, 다양한 용도로 활용됩니다. 파이썬에서는 문자열을 치환할 수 있는 다양한 방법을 제공합니다. 이번 포스팅에서는 그 방법에 대해 알아보도록 하겠습니다.
파이썬 문자열 치환
파이썬에서 문자열을 치환하는 방법은 replace, translate 메서드를 활용하는 방법과 정규 표현식을 사용하는 방법 크게 3가지가 있습니다.
replace 메서드 사용법
str.replace(old, new)
- 모든 old 문자열을 new 문자열로 치환합니다. 파이썬의 문자열 치환 방법 중 가장 많이 쓰이는 방법입니다.
replace 메서드 예제
org_string = "Hello World!"
new_string = org_string.replace("Hello", "Hi")
print(new_string) # 결과 : "Hi World!"
결과 : Hi World!
위의 예제에서는 Hello가 Hi로 치환되어 최종적으로는 문자열 Hi World! 가 출력됩니다.
translate 메서드 사용법
table = str.maketrans(x, y, z)
str.translate(table)
- x : 치환 대상 문자열에서 치환하고자 하는 문자들로 이루어진 문자열입니다.
- y : x와 치환하고자 하는 대상 문자열과 매핑되는 치환 결과 문자들로 이루어진 문자열입니다. y의 길이는 x와 같아야 합니다.
- z : 삭제할 문자들로 이루어진 문자열입니다. 이 문자열에 포함된 문자들은 변환 테이블에서 삭제됩니다.
- table : 변환 테이블로서, str.maketrans() 메서드를 사용하여 생성됩니다.
- 변환 테이블은 str.maketrans() 메서드를 통해 문자열의 각 문자를 다른 문자로 치환하는 매핑을 가집니다.
translate 메서드 예제
org_str = "Hello World!"
table = str.maketrans('l', 'A')
new_str = org_str.translate(table)
print(new_str) # 결과 : "HEllo World!"
결과 : HeAAo, WorAd!
위 예제에서는 "e"가 "E"로 치환되어 "HEllo, World!"가 출력됩니다. 이렇게 str.translate() 메서드는 문자열에서 특정 문자를 치환하는 데 사용되는 변환 테이블을 만들어서 적용합니다. 이 방법은 단일 문자 치환에 유용하게 사용할 수 있습니다.
replace, translate 메서드를 사용하여 여러 개의 치환 동시에 하기
# replace 메서드를 활용한 문자열 여러개 치환
org_str = "Hello World!"
replace_str = org_str.replace('H','A').replace('l','A').replace('r','A').replace('d','A')
print(replace_str) # 결과 : "AeAAo WoAAA!"
# translate 메서드를 활용한 문자열 여러개 치환
table = org_str.maketrans('Hlrd', 'AAAA')
new_str = org_str.translate(table)
print(new_str) # 결과 : "AeAAo WoAAA!"
결과 ↓
"AeAAo WoAAA!"
"AeAAo WoAAA!"
파이썬에서는 str.translate()와 str.replace()를 사용하여 위의 예제처럼 여러 개의 치환을 동시에 수행할 수 있습니다.
정규표현식을 사용한 문자열 치환
import re
text = "I like apple and banana."
replaced_text = re.sub(r"apple|banana", "fruit", text)
print(replaced_text) # 결과 : "I like fruit and fruit."
결과 : I like fruit and fruit.
정규표현식은 문자열에서 패턴을 지정하여 검색하고 치환하는데 사용할 수 있는데요 특히 복잡한 문자열 치환을 정규표현식(re 모듈)으로 처리할 때 유용합니다. 파이썬에서는 re 모듈을 사용하여 정규표현식을 지원합니다. 위의 예제에서는 apple과 banana를 frult로 치환하였습니다.
'Language > Python' 카테고리의 다른 글
[Python] 파이썬 리스트(list) 원소 추가 / 삭제 (append, remove) 방법 (0) | 2023.08.17 |
---|---|
[Python] 파이썬 리스트(list) 만들기, 접근하기(+ 슬라이싱) (0) | 2023.08.10 |
[Python] 파이썬 문자열 쪼개기 - '구분자'로 자르기(split, splitline) (0) | 2023.08.08 |
[Python] 파이썬 문자열 자르기(Slicing, Index) (0) | 2023.08.07 |