Comment supprimer une sous-chaîne de la fin d'une chaîne en Python?

J'ai le code suivant:

url = 'abcdc.com'
print(url.strip('.com'))

Je m'attendais à: abcdc

J'ai eu: abcd

Maintenant je fais

url.rsplit('.com', 1)

Est-il un meilleur moyen?

258
demandé sur Martin Thoma 0000-00-00 00:00:00

1 réponses

strip "ne signifie pas" supprimer cette sous-chaîne". x.strip(y) traite y comme un ensemble de caractères et supprime les caractères de cet ensemble à partir des extrémités de x.

À la place, vous pouvez utiliser endswith et trancher:

url = 'abcdc.com'
if url.endswith('.com'):
    url = url[:-4]

, Ou en utilisant des expressions régulières:

import re
url = 'abcdc.com'
url = re.sub('\.com$', '', url)
391
répondu