콘텐츠로 건너뛰기

파이썬 replace 함수 사용 방법과 수정 방법

[

파이썬에서 문자열 또는 부분 문자열을 제거하거나 대체하는 방법

파이썬에서 문자열을 제거하거나 대체하기 위해 가장 기본적인 방법은 .replace() 문자열 메서드를 사용하는 것입니다:

>>> "가짜 파이썬".replace("가짜", "진짜")
'진짜 파이썬'

위 예시에서 확인할 수 있듯이, .replace()를 문자열에 연결하고 메서드에 두 개의 인수를 제공할 수 있습니다. 첫 번째는 대체하려는 문자열이고, 두 번째는 대체할 문자열입니다.

참고: 파이썬 셸은 .replace()의 결과를 표시하지만, 문자열 자체는 변경되지 않습니다. 이를 더 명확하게 확인하기 위해 문자열을 변수에 할당해 보겠습니다:

>>> name = "가짜 파이썬"
>>> name.replace("가짜", "진짜")
'진짜 파이썬'
>>> name
'가짜 파이썬'
>>> name = name.replace("가짜", "진짜")
'진짜 파이썬'
>>> name
'진짜 파이썬'

.replace()를 단순히 호출할 때는 name의 값이 변하지 않음을 주목하세요. 하지만 name.replace()의 결과를 name 변수에 할당하면 '가짜 파이썬''진짜 파이썬'으로 변경됩니다.

이제 이 지식을 대화 내용에 적용할 시간입니다:

transcript = """\
[support_tom] 2022-08-24T10:02:23+00:00: 도움이 필요한 게 있나요?
[johndoe] 2022-08-24T10:03:15+00:00: %^*@ 계정에 연결할 수 없어요!
[support_tom] 2022-08-24T10:03:30+00:00: 캡스락이 꺼진 상태인지 확인해 보셨나요?
[johndoe] 2022-08-24T10:04:03+00:00: %@*! 맞네요!"""

다음으로 할 일은 욕설을 제거하는 것입니다:

transcript.replace("연결할 수 없어요", "😤")

여기까지 따라왔다면, 이제 정말로 필요한 부분만 남기고 필요하지 않은 부분은 제거해야 합니다. 다음과 같은 스크립트를 사용하여 시행해 보세요:

import re
transcript = """\
[support_tom] 2022-08-24T10:02:23+00:00: 도움이 필요한 게 있나요?
[johndoe] 2022-08-24T10:03:15+00:00: %^*@ 계정에 연결할 수 없어요!
[support_tom] 2022-08-24T10:03:30+00:00: 캡스락이 꺼진 상태인지 확인해 보셨나요?
[johndoe] 2022-08-24T10:04:03+00:00: %@*! 맞네요!"""
# 시간 정보 제거
transcript = re.sub(r"\[\w+\] \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2}:", "", transcript)
# 전자 메일 주소 제거
transcript = re.sub(r"[\w\.-]+@[\w\.-]+", "", transcript)
# 특수문자 제거
transcript = re.sub(r"[^\w\s]", "", transcript)
print(transcript)

이제 이 코드를 실행해 보세요. 이제 원하는 텍스트만 남게 됩니다. 이를 통해 원하는 분석을 수행할 수 있습니다.

결론

파이썬의 .replace() 메서드와 re.sub() 함수를 사용하여 문자열을 제거하거나 대체하는 방법에 대해 알아보았습니다. 이러한 기능을 사용하면 텍스트 데이터를 정제하거나 가공하는 데 유용하게 활용할 수 있습니다. 상세한 코드와 예제를 통해 단계별로 실행해 보면서 실습을 진행해 보세요!