Ako odstrániť podreťazec z konca reťazca v jazyku Python?

Mám nasledujúci kód:

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

Očakával som: abcdc

Dostal som: abcd

Teraz robím

url.rsplit('.com', 1)

Existuje lepší spôsob?

Riešenie

strip neznamená "odstrániť tento podreťazec". x.strip(y) považuje y za množinu znakov a z koncov x odstráni všetky znaky z tejto množiny.

Namiesto toho môžete použiť endswith a slicing:

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

Alebo pomocou regulárnych výrazov:

import re
url = 'abcdc.com'
url = re.sub('\.com$', '', url)
Komentáre (10)

Čo tak url[:-4]?

Komentáre (0)

Toto je perfektné použitie regulárnych výrazov:

>>> import re
>>> re.match(r"(.*)\.com", "hello.com").group(1)
'hello'
Komentáre (1)