"HELLO there HOW are YOU"
(Python에서) 대문자 로 문자열을 분할하는 가장 좋은 방법은 무엇입니까 ?
그래서 나는 다음과 같은 배열로 끝날 것입니다. results = ['HELLO there', 'HOW are', 'YOU']
편집하다:
나는 시도했다 :
p = re.compile("\b[A-Z]{2,}\b")
print p.split(page_text)
그래도 작동하지 않는 것 같습니다.
답변
답변
미리보기를 사용할 수 있습니다.
re.split(r'[ ](?=[A-Z]+\b)', input)
이것은 단어 경계로 끝나는 대문자 문자열이 뒤 따르는 모든 공백에서 분할됩니다.
대괄호는 가독성을위한 것이며 생략 할 수도 있습니다.
단어의 첫 글자가 대문자이면 충분하다면 (앞으로도 나누고 싶다면 Hello
) 훨씬 쉬워집니다 :
re.split(r'[ ](?=[A-Z])', input)
이제 이것은 모든 공백에서 대문자로 나뉩니다.
답변
질문에 리터럴 문자열이 포함되어 "\b[A-Z]{2,}\b"
있지만 \b
r 수정자가 없으므로 백 스페이스를 의미합니다.
시도 : r"\b[A-Z]{2,}\b"
.