Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 여러 구분자를 사용해 문자열 분리하는 방법

Python에서 여러 구분자로 문자열 분리하기

파이썬에서 하나의 문자열을 쉼표, 세미콜론, 별표처럼 서로 다른 여러 구분자를 기준으로 나누려면 re 모듈의 re.split(delimiter, str) 메서드를 활용하면 됩니다.

이 메서드는 두 가지 인자를 받습니다.

  • delimiter — 구분자를 정의하는 정규 표현식(regex)
  • str — 분리하고자 하는 대상 문자열

기본 사용 예제

a='Beautiful, is; better*than\nugly'
import re
print(re.split('; |, |\*|\n',a))

실행 결과는 다음과 같습니다.

['Beautiful', 'is', 'better', 'than', 'ugly']

정규 표현식 패턴 해설

위 예제에서 사용한 '; |, |\*|\n' 패턴은 네 가지 구분 조건을 의미합니다.

  • ; — 세미콜론 뒤에 공백이 오는 경우
  • , — 쉼표 뒤에 공백이 오는 경우
  • \* — 별표(*) 문자 (정규식 특수문자이므로 백슬래시로 이스케이프)
  • \n — 줄바꿈 문자

각 구분자는 파이프(|) 즉, OR 연산자로 연결되어 있으므로 문자열을 탐색하는 도중 이 패턴 중 하나라도 일치하면 해당 지점을 경계로 문자열이 잘립니다. 그 결과 리스트에는 구분 기호가 제거된 단어들만 깔끔하게 남게 됩니다.

이 방식은 데이터 전처리나 로그 파싱처럼 입력 형식이 일정하지 않은 문자열을 다룰 때 특히 유용합니다.