반응형
질문
나는 내가 하려는 것이 꽤 흔한 작업인 것 같지만 웹에서는 참조를 찾을 수 없었습니다. 저는 문장부호와 함께 텍스트를 가지고 있고, 단어들의 목록을 원합니다.
"Hey, you - what are you doing here!?"
다음과 같이 되어야 합니다.
['hey', 'you', 'what', 'are', 'you', 'doing', 'here']
하지만 파이썬의 str.split()
은 하나의 인자만 작동하기 때문에, 공백으로 나눈 후에는 모든 단어들이 문장부호와 함께 있습니다. 아이디어가 있으신가요?
답변
re.split(pattern, string[, maxsplit=0])
Split string by the occurrences of pattern. If capturing parentheses are used in pattern, then the text of all groups in the pattern are also returned as part of the resulting list. If maxsplit is nonzero, at most maxsplit splits occur, and the remainder of the string is returned as the final element of the list. (Incompatibility note: in the original Python 1.5 release, maxsplit was ignored. This has been fixed in later releases.)
>>> re.split('\W+', 'Words, words, words.')
['Words', 'words', 'words', '']
>>> re.split('(\W+)', 'Words, words, words.')
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split('\W+', 'Words, words, words.', 1)
['Words', 'words, words.']
반응형
댓글