2010-08-13 6 views
104

$$ TEXT $$가 구분 기호 인이 문자열을 분할하는 방법.파이썬에서 구분 기호로 문자열을 분할합니다.

1.MATCHES$$TEXT$$STRING 
    2.MATCHES $$TEXT$$ STRING 
+3

http://docs.python.org/library/stdtypes.html#str.split – getekha

+6

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

답변

175

string.split('$$TEXT$$')?

>>> a="1.MATCHES$$TEXT$$STRING" 
>>> a.split("$$TEXT$$") 
['1.MATCHES', 'STRING'] 

>>> a="2.MATCHES $$TEXT$$ STRING" 
>>> a.split("$$TEXT$$") 
['2.MATCHES ', ' STRING'] 

과 :

>>> [x.strip() for x in "2.MATCHES $$TEXT$$ STRING".split("$$TEXT$$")] 
['2.MATCHES', 'STRING'] 
+1

첫 번째 예제 (단순히 split() 사용)와 두 번째 예제 (for 루프 사용)의 차이점은 무엇입니까? – EndenDragon

+4

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

4

당신은 쉼표로 구분 된 파일을 설계하지만, 쉽게 사용자 정의 구분 기호를 사용하도록 수정 될 수있는 csv 모듈에 관심이있을 수 있습니다.

import csv 
csv.register_dialect("myDialect", delimiter = "$$TEXT", <other-options>) 
lines = [ "1.MATCHES$$TEXT$$STRING", "2.MATCHES $$TEXT$$ STRING" ] 

for row in csv.reader(lines): 
    ... 
관련 문제