Metode noi de șiruri pentru a elimina prefixele și sufixele din Python 3.9

removeprefix () vs lstrip (), removesuffix vs rstrip ()

Metode noi de șiruri în Python 3.9

În Python 3.9, sunt introduse noi metode de șiruri removeprefix () și removesuffix () .

Subiecte tratate în această poveste

removeprefix () vs lstrip ()
removesuffix () vs rstrip ()
Diferite moduri de a elimina prefixul și sufixul înainte de Python 3.9

removeprefix () vs lstrip ()

removeprefix ()

str.removeprefix(prefix)

lstrip ()

str.<([chars])

Exemplul 1: eliminați prefixul „abc” din șir

Exemplul 2: Parametrii removeprefix () sunt considerați ca un șir secundar. Dar parametrii lstrip () sunt considerați ca un set de caractere.

Exemplul 3: <>removeprefix nu va elimina mai multe copii ale unui prefix. Dar lstrip () va elimina mai multe copii ale unui prefix

Exemplul 4 : dacă parametrul nu este menționat în lstrip (), acesta va elimina spațiile albe principale. Dar dacă parametrul nu este menționat în removeprefix (), va ridica TypeError

Exemplul 5: dacă parametrul menționat nu este găsit la începutul șirului înseamnă, ambele metode vor returna o copie a șirului

removesuffix () vs rstrip ()

removesuffix ()

str.<( sufix)

rstrip ()

str.<}stripchars[))

Returnați o copie a șirului cu caractere finale eliminate. Argumentul chars este un șir care specifică setul de caractere care trebuie eliminate. Dacă este omis sau None , argumentul chars implicit elimină spațiul alb. Argumentul chars nu este un sufix; mai degrabă, toate combinațiile valorilor sale sunt eliminate.-Python docs

Exemplul 1: Eliminați prefixul <<>abcogether din șir

Exemplul 2: Parametrii removesuffix () sunt considerați ca un șir secundar. Dar parametrii rstrip () sunt considerați ca un set de caractere.

Exemplul 3: <

  • elimină sufixul nu va elimina mai multe copii ale sufixului. Dar < va elimina mai multe copii ale sufixului.

    Exemplul 4 : dacă parametrul nu este menționat în rstrip (), acesta va elimina spațiile albe finale. Dar dacă parametrul nu este menționat în removesuffix (), va ridica TypeError

    Exemplul 5: dacă parametrul menționat nu este găsit la sfârșitul șirului înseamnă, ambele metode vor returna o copie a șirului

    Diferite moduri de a elimina prefixul și sufixul înainte de Python 3.9

    1. Folosind re.sub ()

    Eliminarea sufixului

    pattern = r ”abc $” → Verifică dacă șirul se termină cu “abc”
    $ → indică sfârșitul șirul.

    s2 = re.sub (pattern, ””, s1) → Dacă modelul se potrivește, acesta va înlocui șirul de caractere cu un șir gol.

    Eliminarea prefixului

    pattern = r ”^ abc” → verifică dacă șirul începe cu “abc”

    ^ → indică începutul șirului

    s2 = re.sub (pattern, ””, s1) → Dacă modelul se potrivește, acesta va înlocui șirul de caractere cu un șir gol.

    2. Folosind str.startswith ()

    Dacă șirul începe cu „abc” înseamnă că va înlocui acel șir cu “” (șir gol)
    count = 1 înseamnă o singură apariție șirul menționat este înlocuit cu un șir gol.

    3. Folosind str.endswith ()

    În Python 3.9, metodele removesuffix () și removeprefix () facilitează eliminarea sufixului și prefixului din șir.

    Concluzie

    Resurse

    PEP-616