87 votes

Suppression de la barre oblique de tête et de queue / en python

J'utilise request.path pour retourner l'URL actuelle dans Django, et il retourne /get/category .

J'en ai besoin comme get/category (sans barre oblique de début et de fin).

Comment puis-je le faire ?

216voto

Amber Points 159296
>>> "/get/category".strip("/")
'get/category'

strip() est la bonne façon de procéder.

16voto

Raymond Hettinger Points 231
def remove_lead_and_trail_slash(s):
    if s.startswith('/'):
        s = s[1:]
    if s.endswith('/'):
        s = s[:-1]
    return s

Contrairement à str.strip() ce qui garantit la suppression d'au plus une des barres obliques de chaque côté.

9voto

Tim Pietzcker Points 146308

Un autre avec des expressions régulières :

>>> import re
>>> s = "/get/category"
>>> re.sub("^/|/$", "", s)
'get/category'

1voto

Dev Sapariya Points 135

Vous pouvez essayer :

"/get/category".strip("/")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X