반응형
<질문>
구분 기호가 처음 나타날 때 문자열을 분할하는 가장 좋은 방법은 무엇입니까?
예를 들어:
"123mango abcd mango kiwi peach"
첫 번째 분할mango
얻을:
"abcd mango kiwi peach"
<답변1>
에서the docs:
str.split([sep[, maxsplit]]) sep를 구분 기호 문자열로 사용하여 문자열의 단어 목록을 반환합니다. maxsplit이 주어지면 최대 maxsplit 분할이 수행됩니다(따라서 목록은 최대 maxsplit+1 요소를 갖습니다).
s.split('mango', 1)[1]
<답변2>
>>> s = "123mango abcd mango kiwi peach"
>>> s.split("mango", 1)
['123', ' abcd mango kiwi peach']
>>> s.split("mango", 1)[1]
' abcd mango kiwi peach'
<답변3>
나에게 더 나은 접근 방식은 다음과 같습니다.
s.split('mango', 1)[-1]
... 그 발생이 문자열에 없으면 "IndexError: list index out of range"
.
그러므로-1
발생 횟수는 이미 1로 설정되어 있습니다.
<답변4>
당신은 또한 사용할 수 있습니다str.partition
:
>>> text = "123mango abcd mango kiwi peach"
>>> text.partition("mango")
('123', 'mango', ' abcd mango kiwi peach')
>>> text.partition("mango")[-1]
' abcd mango kiwi peach'
>>> text.partition("mango")[-1].lstrip() # if whitespace strip-ing is needed
'abcd mango kiwi peach'
사용의 장점str.partition
그것은 항상 다음과 같은 형식으로 튜플을 반환한다는 것입니다.
(, , )
따라서 출력 압축을 풀면 다음과 같이 매우 유연합니다.언제나결과 튜플에서 3개의 요소가 됩니다.
<답변5>
df.columnname[1].split('.', 1)
이렇게 하면 '.'가 처음 나타나는 데이터를 분할합니다. 문자열 또는 데이터 프레임 열 값에서.
반응형
'개발 > Python' 카테고리의 다른 글
[파이썬] simple HTTP server에서 액세스 제어 활성화 (0) | 2022.10.22 |
---|---|
[파이썬] SQLAlchemy - cascade 삭제 (0) | 2022.10.22 |
[파이썬] yaml 패키지는 어떻게 설치합니까? (0) | 2022.10.22 |
[파이썬] 딕셔너리에 키워드 매개 변수로 함수 전달 (0) | 2022.10.22 |