구분자의 마지막 발생을 기반으로 문자열을 2로 분할


100

마지막 구분 기호를 기반으로 문자열을 두 부분으로 나누는 파이썬에 내장 함수가 있는지 알고 싶습니다.

예를 들어 : "abc, d, e, f"문자열을 고려하십시오. 구분 기호 ","로 분할 한 후 출력을 다음과 같이 원합니다.

"abc, d, e"및 "f".

원하는 출력을 얻기 위해 문자열을 조작하는 방법을 알고 있지만 파이썬에 내장 된 함수가 있는지 알고 싶습니다.

답변:


118

사용 rpartition(s). 정확히 그렇게합니다.

를 사용할 수도 있습니다 rsplit(s, 1).


11
정확하지 않음 : "abc, d, e, f".rpartition ( ',')-> ( 'abc, d, e', ',', 'f')
Vanuan

@Vanuan, 실제로 그것은 정확히입니다. 또한 어떤 이유로 든 구분 기호를 반환합니다. str.rpartition (sep) sep의 마지막 항목에서 문자열을 분할하고 구분 기호 앞 부분, 구분 기호 자체 및 구분 기호 뒤 부분을 포함하는 3- 튜플을 반환합니다. . 구분자가 없으면 두 개의 빈 문자열과 문자열 자체를 포함하는 3- 튜플을 반환합니다.
Petar Ivanov 2014

23
rsplit(s, 1)rpartition(s)출력이 다른, 당신은 인정해야합니다.
Vanuan


54

다음을 사용하여 마지막 구분 기호로 문자열을 분할 할 수 있습니다 rsplit.

구분자 문자열 (오른쪽에서 시작)로 구분 된 문자열의 단어 목록을 반환합니다.

마지막 쉼표로 나누려면 :

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.