programing

대문자 단어가 시작되는 모든 위치에서 문자열 분할

lastmoon 2023. 7. 16. 17:46
반응형

대문자 단어가 시작되는 모든 위치에서 문자열 분할

같은 문자열을 분할하는 가장 좋은 방법은 무엇입니까?"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"그러나 그것은\br-수정자가 없으므로 백스페이스를 의미합니다.

시도:r"\b[A-Z]{2,}\b".

언급URL : https://stackoverflow.com/questions/13209288/split-string-at-every-position-where-an-upper-case-word-starts

반응형