파이썬에서 문자열을 분할하고 구문 분석하려면 어떻게 해야 합니까?
이 문자열을 파이썬으로 분할하려고 합니다.2.7.0_bf4fda703454
저는 그 줄을 언더스코어로 나누고 싶습니다._
왼쪽에 있는 값을 사용할 수 있습니다.
"2.7.0_bf4fda703454".split("_")
문자열 목록을 제공합니다.
In [1]: "2.7.0_bf4fda703454".split("_")
Out[1]: ['2.7.0', 'bf4fda703454']
이렇게 하면 모든 밑줄에서 문자열이 분할됩니다.첫 번째 분할 후 중지하려면 다음을 사용합니다."2.7.0_bf4fda703454".split("_", 1)
.
문자열에 밑줄이 포함되어 있다는 사실을 알고 있는 경우 LHS와 RHS를 별도의 변수로 압축 해제할 수도 있습니다.
In [8]: lhs, rhs = "2.7.0_bf4fda703454".split("_", 1)
In [9]: lhs
Out[9]: '2.7.0'
In [10]: rhs
Out[10]: 'bf4fda703454'
다른 방법은 을 사용하는 것입니다.두 개 대신 세 개의 성분을 반환한다는 점을 제외하고는 마지막 예제와 사용법이 비슷합니다.가장 큰 장점은 문자열에 구분 기호가 포함되어 있지 않아도 이 방법이 실패하지 않는다는 것입니다.
Python 문자열 구문 분석 워크스루
공백에서 문자열을 분할하고 목록을 가져온 다음 유형을 표시하고 인쇄합니다.
el@apollo:~/foo$ python
>>> mystring = "What does the fox say?"
>>> mylist = mystring.split(" ")
>>> print type(mylist)
<type 'list'>
>>> print mylist
['What', 'does', 'the', 'fox', 'say?']
두 개의 구분 기호가 옆에 있으면 빈 문자열로 간주됩니다.
el@apollo:~/foo$ python
>>> mystring = "its so fluffy im gonna DIE!!!"
>>> print mystring.split(" ")
['its', '', 'so', '', '', 'fluffy', '', '', 'im', 'gonna', '', '', '', 'DIE!!!']
밑줄에서 문자열을 분할하고 목록의 다섯 번째 항목을 가져옵니다.
el@apollo:~/foo$ python
>>> mystring = "Time_to_fire_up_Kowalski's_Nuclear_reactor."
>>> mystring.split("_")[4]
"Kowalski's"
여러 공간을 하나로 축소
el@apollo:~/foo$ python
>>> mystring = 'collapse these spaces'
>>> mycollapsedstring = ' '.join(mystring.split())
>>> print mycollapsedstring.split(' ')
['collapse', 'these', 'spaces']
Python의 분할 방법에 매개 변수를 전달하지 않을 때, 문서는 "연속적인 공백의 실행은 단일 구분자로 간주되며 문자열에 선행 또는 후행 공백이 있는 경우 시작 또는 끝에 빈 문자열이 포함되지 않습니다."라고 말합니다.
모자를 꽉 잡고, 규칙적인 표현으로 구문 분석합니다.
el@apollo:~/foo$ python
>>> mystring = 'zzzzzzabczzzzzzdefzzzzzzzzzghizzzzzzzzzzzz'
>>> import re
>>> mylist = re.split("[a-m]+", mystring)
>>> print mylist
['zzzzzz', 'zzzzzz', 'zzzzzzzzz', 'zzzzzzzzzzzz']
정규식 "[a-m]+"는 소문자를 의미합니다.a
통해.m
하나 이상 발생한 경우 구분 기호로 일치합니다.re
가져올 라이브러리입니다.
또는 항목을 한 번에 하나씩 압축하려는 경우:
el@apollo:~/foo$ python
>>> mystring = "theres coffee in that nebula"
>>> mytuple = mystring.partition(" ")
>>> print type(mytuple)
<type 'tuple'>
>>> print mytuple
('theres', ' ', 'coffee in that nebula')
>>> print mytuple[0]
theres
>>> print mytuple[2]
coffee in that nebula
항상 짝수 LHS/RHS 분할인 경우에는 다음을 사용할 수도 있습니다.partition
문자열에 내장된 방법.3-튜플을 반환합니다.(LHS, separator, RHS)
분리기가 발견되면,(original_string, '', '')
구분 기호가 없는 경우:
>>> "2.7.0_bf4fda703454".partition('_')
('2.7.0', '_', 'bf4fda703454')
>>> "shazam".partition("_")
('shazam', '', '')
언급URL : https://stackoverflow.com/questions/5749195/how-can-i-split-and-parse-a-string-in-python
'programing' 카테고리의 다른 글
exp 명령은 원격 DB 테이블을 내보낼 호스트 및 포트를 허용합니다. (0) | 2023.07.21 |
---|---|
java persistence native sql 매개 변수를 허용하지 않음 (0) | 2023.07.21 |
문자열을 토큰으로 분할하여 배열에 저장 (0) | 2023.07.16 |
Python의 포인터? (0) | 2023.07.16 |
함수 반환 유형 및 인수 유형을 아는 방법은 무엇입니까? (0) | 2023.07.16 |