Kako v programu Python odstranim podrejeni niz s konca niza?

Imam naslednjo kodo:

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

Pričakoval sem: abcdc

Dobil sem: abcd

Zdaj naredim

url.rsplit('.com', 1)

Ali obstaja boljši način?

Rešitev

strip ne pomeni "odstrani ta podreženj". x.strip(y) obravnava y kot množico znakov in odstrani vse znake iz te množice s konca x.

Namesto tega lahko uporabite endswith in rezanje:

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

Ali z uporabo regularnih izrazov:

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

Kaj pa url[:-4]?

Komentarji (0)

To je odlična uporaba regularnih izrazov:

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