파이썬에서 구분 기호로 문자열 나누기


195

__구분 기호가있는 이 문자열을 분할하는 방법

MATCHES__STRING

['MATCHES', 'STRING']? 의 출력을 얻으려면



8
파이썬 표준 문서를 읽고 다른 사람들이 파이썬의 기본을 이해하기 시작한 프로그램을 이해하려고 노력할 가치가 있습니다. 연습과 복사 / 수정은 언어를 배우는 훌륭한 도구입니다.
Tony Veijalainen

답변:


327

str.split기능을 사용할 수 있습니다 :string.split('__')

>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']

1
궁금한 점은 첫 번째 예제 (단순 split () 사용)와 두 번째 예제 (for 루프 포함)의 차이점은 무엇입니까?
EndenDragon 2016 년

4
@EndenDragon for 루프는 자동으로 x.strip()양쪽에 공백없이 일치하는 목록을 적용 하고 반환합니다. 악마는 세부 사항에 있습니다.
Sébastien Vercammen 2016 년

이 질문은 매우 인기있는 질문이므로 하나의 특정 질문 만하도록 편집하고 구분 기호 주위의 공백으로 부분을 제거했습니다. 질문). 질문 (및 답변) 이이 방법으로 더 유용하다고 생각하지만 동의하지 않으면 모든 편집 내용을 롤백하십시오.
Aran-Fey

4

csv쉼표로 구분 된 파일 용으로 설계되었지만 사용자 지정 구분 기호를 사용하도록 쉽게 수정할 수있는 모듈에 관심이있을 수 있습니다.

import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]

for row in csv.reader( lines ):
    ...

1

문자열에 둘 이상의 요소 (아래 예에서는 세 개)가 있으면 쉼표를 사용하여 이러한 항목을 구분할 수 있습니다.

date, time, event_name = ev.get_text(separator='@').split("@")

이 코드 행 다음에 세 변수는 변수 ev 의 세 부분에서 나온 값을 갖습니다.

따라서 변수 ev에이 문자열이 포함되어 있고 구분자 '@'을 적용하는 경우 :

Sa., 23. März @ 19 : 00 @ Klavier + Orchester : SPEZIAL

그런 다음 분할 작업 후 변수

  • 날짜의 값은 "Sa., 23. März"입니다.
  • 시간 은 "19:00"값을 갖습니다
  • event_name의 값은 "Klavier + Orchester : SPEZIAL"입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.