파이썬 정규표현식으로 치환하는 방법을 쉽게 알려드립니다.
Python Regex Replace
이 튜토리얼에서는 Python에서 문자열 또는 부분 문자열을 제거하거나 대체하는 방법에 대해 알아보겠습니다. .replace()
메서드와 re.sub()
함수를 사용하여 텍스트를 정리하는 방법이 설명됩니다.
Step 1: .replace() 메서드 사용하기
Python에서 문자열을 대체하는 가장 기본적인 방법은 .replace()
문자열 메서드를 사용하는 것입니다. 이 메서드를 사용하려면 대상 문자열에 .replace()
를 연결하고 두 개의 인자를 제공하면 됩니다. 첫 번째 인자는 대체할 문자열이고 두 번째 인자는 대체될 문자열입니다.
.replace()
의 결과가 Python 쉘에 표시되지만 실제 문자열 자체는 변경되지 않습니다. 더 명확하게 보기 위해 문자열을 변수에 할당할 수도 있습니다.
.replace()
를 호출할 때 name
의 값이 변경되지 않는 것을 확인할 수 있습니다. 그러나 name.replace()
의 결과를 name
변수에 할당하면 '가짜 파이썬'
이 '진짜 파이썬'
으로 변경됩니다.
이제 이 지식을 채팅 트랜스크립트에 적용해보겠습니다.
.replace()
메서드를 사용하여 대체하기 전과 후를 비교할 수 있습니다. 첫 번째 인자로 대체할 문자열 “접속할 수 없어요”를 전달하고 두 번째 인자로 대체할 문자열 “접속할 수 있어요”를 전달하여 문자열이 변경되었음을 확인할 수 있습니다.
Step 2: 정규식(re.sub())을 사용하여 복잡한 규칙 만들기
간단한 대체 작업 이상을 수행하려면 정규식(re.sub())을 사용하여 더 복잡한 규칙을 만들 수 있습니다. re.sub()
함수는 세 개의 인자를 받습니다. 첫 번째 인자는 대체할 패턴, 두 번째 인자는 대체될 문자열 또는 콜백 함수, 세 번째 인자는 대상 문자열입니다.
위 예제에서는 re.sub()
함수를 사용하여 “world”를 “python”으로 대체했습니다. 정규식 r”world”는 “world” 패턴에 일치하는 문자열을 찾아 “python”으로 대체합니다.
Step 3: re.sub()을 사용하여 콜백 함수 적용
더 많은 제어를 위해 re.sub()
함수에 콜백(callback) 함수를 사용할 수도 있습니다. 콜백 함수는 정규식 패턴에 일치하는 문자열을 대체하기 전에 호출되며 대체할 문자열을 반환해야 합니다. 이를 통해 대체되는 문자열에 대해 추가적인 조작을 수행할 수 있습니다.
위 예제에서는 re.sub()
함수에 콜백 함수 replace_word
를 사용하여 “hello”를 “greetings”로, “world”를 “python”으로 대체하도록 했습니다.
Step 4: 스크립트에 콜백 적용하기
이제 앞의 예제를 기반으로 스크립트에 콜백 함수를 적용해 보겠습니다. 아래의 코드는 채팅 트랜스크립트에서 “BLASTED”를 ”😤“로 대체합니다. 따라서 욕설이 들어있는 메시지를 이모지로 대체합니다.
위 예제에서는 replace_swears
라는 콜백 함수를 만들고 “BLASTED”를 ”😤“로 대체하도록 했습니다. \b([A-Z]+)\b
패턴은 모든 대문자로 구성된 단어를 찾아 대체하는 데 사용됩니다.
결론
이 튜토리얼에서는 Python에서 문자열 또는 부분 문자열을 제거하거나 대체하는 방법에 대해 알아보았습니다. .replace()
메서드와 re.sub()
함수를 사용하여 간단한 대체 작업부터 복잡한 규칙을 만드는 방법을 알아보았습니다. 이를 통해 텍스트 정리 작업을 수행할 수 있고, 개인 정보를 제거하거나 욕설을 이모지로 대체할 수 있습니다.
.replace()
메서드를 사용하여 문자열을 대체할 수 있습니다.re.sub()
함수를 사용하여 정규식을 활용하여 대체 작업을 수행할 수 있습니다.- 콜백 함수를 사용하여 대체되는 문자열을 제어할 수 있습니다.
이를 기반으로 자신의 프로젝트나 스크립트에서 문자열 대체 작업을 수행할 수 있습니다.