dividere la stringa in 2 in base all'ultima occorrenza di un separatore


100

Vorrei sapere se esiste una funzione incorporata in Python per suddividere la stringa in 2 parti, in base all'ultima occorrenza di un separatore.

per esempio: considera la stringa "abc, d, e, f", dopo la divisione nel separatore ",", voglio l'output come

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

So come manipolare la stringa per ottenere l'output desiderato, ma voglio sapere se esiste una funzione incorporata in Python.

Risposte:


118

Usa rpartition(s). Fa esattamente questo.

Puoi anche usare rsplit(s, 1).


11
Non esattamente: "abc, d, e, f" .rpartition (',') -> ('abc, d, e', ',', 'f')
Vanuan

@ Vanuan, è ESATTAMENTE quello in realtà. Restituisce anche solo il separatore per un motivo o per l'altro: str.rpartition (sep) Divide la stringa all'ultima occorrenza di sep e restituisce una tupla di 3 elementi contenente la parte prima del separatore, il separatore stesso e la parte dopo il separatore . Se il separatore non viene trovato, restituisce una tupla di 3 elementi contenente due stringhe vuote, seguite dalla stringa stessa.
Petar Ivanov

23
rsplit(s, 1)e l' rpartition(s)output è diverso, devi ammetterlo.
Vanuan


54

Puoi dividere una stringa in base all'ultima occorrenza di un separatore con rsplit:

Restituisce un elenco delle parole nella stringa, separate dalla stringa delimitatore (a partire da destra).

Per dividere per l'ultima virgola:

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.