Python – #110 – str() – .rpartition() – Jak podzielić string na trzy części według określonego ciągu znakowego szukając od prawej strony?

Metoda .rpartition()

Metoda zwraca tuplę, która składa się z trzech ciągów znakowych. Metoda dzieli ciąg znakowy, na którym została wykonana metoda, w taki sposób, że pierwszy ciąg znakowy w tupli stanowi tekst, który znajduje się przed ostatnim wystąpieniem podanego argumentu, drugi ciąg znakowy zawiera wartość argumentu (czyli szukany ciąg znakowy), a trzeci ciąg znakowy zawiera tekst, który znajduje się po ostatnim wystąpieniu argumentu w ciągu znakowym, na którym została wykonana metoda. Jeżeli w ciągu znakowym, na którym została wykonana metoda, nie ma ciągu znakowego z argumentu, wówczas na ostatniej pozycji w tupli umieszczany jest cały ciąg znakowy, a pozostałe dwa ciągi znakowe są puste.

Składnia:

str.rpartition(substr)

Parametry:

substr – ciąg znakowy, który jest wyszukiwany w ciągu znakowym, na którym została wykonana metoda, a następnie względem, którego dzielony jest ciąg znakowy na trzy części.

Wartość zwracana:

tuple

Przykłady:

str1 = 'To jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.'
tuple1 = str1.rpartition('test')
print(tuple1)  # wynik --> ('To jest mój testowy tekst. Kolejne ', 'test', 'owe zdanie, które SPRAWDZAM.')

str1 = 'To jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.'
tuple1 = str1.rpartition('asd')
print(tuple1)  # wynik --> ('', '', 'To jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.')

str1 = 'To jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.'
tuple1 = str1.rpartition('SPRAWDZAM.')
print(tuple1)  # wynik --> ('To jest mój testowy tekst. Kolejne testowe zdanie, które ', 'SPRAWDZAM.', '')

str1 = 'To jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.'
tuple1 = str1.rpartition('To')
print(tuple1)  # wynik --> ('', 'To', ' jest mój testowy tekst. Kolejne testowe zdanie, które SPRAWDZAM.')

Autor artykułu
Dominik Bednarski

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.