반응형
대문자 단어가 시작되는 모든 위치에서 문자열 분할
같은 문자열을 분할하는 가장 좋은 방법은 무엇입니까?"HELLO there HOW are YOU"
대문자로?
그래서 저는 다음과 같은 배열을 갖게 될 것입니다.results = ['HELLO there', 'HOW are', 'YOU']
시도해 본 결과:
p = re.compile("\b[A-Z]{2,}\b")
print p.split(page_text)
하지만 효과가 없는 것 같습니다.
제가 제안합니다
l = re.compile("(?<!^)\s+(?=[A-Z])(?!.\s)").split(s)
미리 보기를 사용할 수 있습니다.
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"
.
언급URL : https://stackoverflow.com/questions/13209288/split-string-at-every-position-where-an-upper-case-word-starts
반응형
'programing' 카테고리의 다른 글
Oracle: 현재 날짜에 6개월을 추가하는 방법 (0) | 2023.07.16 |
---|---|
목표 C에서 변수 위치의 선언/정의? (0) | 2023.07.16 |
데이터 프레임을 열 값으로 분할한 판다 (0) | 2023.07.16 |
LINQ를 사용하여 Excel 읽기 (0) | 2023.07.16 |
기존 데이터 테이블에 값이 있는 새 열을 추가하는 방법은 무엇입니까? (0) | 2023.07.16 |