[Python] 파이썬 문자열 치환(replace, translate)

파이썬에서 문자열 치환은 주어진 문자열에서 특정한 부분 문자열을 찾아서 다른 문자열로 대체하는 작업을 말합니다. 이는 문자열 처리에서 매우 유용한 기능 중 하나이며, 다양한 용도로 활용됩니다. 파이썬에서는 문자열을 치환할 수 있는 다양한 방법을 제공합니다. 이번 포스팅에서는 그 방법에 대해 알아보도록 하겠습니다.

 

 파이썬 문자열 치환 

파이썬에서 문자열을 치환하는 방법은 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로 치환하였습니다.

 

댓글

Designed by JB FACTORY