2008-09-22 2 views

답변

40
>>> import re 
>>> re.split(r"(\s+)", "This is the string I want to split") 
['This', ' ', 'is', ' ', 'the', ' ', 'string', ' ', 'I', ' ', 'want', ' ', 'to', ' ', 'split'] 

... 당신을 위해 트릭을 할 것입니다 :

아마도이 도움이 될 수 있습니다 구분자도 반환합니다. 내가 거기 자체가 있음을 수행하는 표준 라이브러리의 함수이지만, 생각하지 않는다

+0

이것은 위에 게시 한 솔루션보다 깨끗합니다. – rossp

1

당신이 뭘하려는 건지에 어려운 부분 같은 당신이 아니라는 것이다 원하는 나에게 준다 쪼개 질 문자를줍니다. split()은 제공 한 문자의 문자열을 분해하고 해당 문자를 제거합니다. 기능을 원인)

s = "String to split" 
mylist = [] 
for item in s.split(): 
    mylist.append(item) 
    mylist.append(' ') 
mylist = mylist[:-1] 

이 지저분한하지만 re.split에서 캡처 괄호를 (사용

+0

... – Mez

+0

난 그냥이 업데이트되었습니다 코드를 r로 최종 공간을 비 춥니 다. 즉, 그것을 할 수있는 최선의 방법은 아니지만, 그냥 * 할 수있는 방법 :) – rossp

4

는 "파티션"내가 할 거라고하는 방법이다 (가까운

가장 좋은 방법은 정규 표현식을 사용하는 아마 온다 어떤 언어에있는이)

import re 
print re.split(r"(\s+)", "Your string here") 
2
단지 그것의 지옥에 대한

바보의 대답 :! 마지막에 존재하지 않는 여분의 공간

mystring.replace(" ","! !").split("!") 
관련 문제