Ich habe den folgenden Code:
url = 'abcdc.com'
print(url.strip('.com'))
Ich erwartete: abcdc
Ich erhielt: abcd
Jetzt mache ich
url.rsplit('.com', 1)
Gibt es einen besseren Weg?
strip" bedeutet nicht "diese Teilzeichenkette entfernen". x.strip(y)` behandelt "y" als eine Menge von Zeichen und entfernt alle Zeichen dieser Menge von den Enden von "x".
Stattdessen könnten Sie endswith
und slicing verwenden:
url = 'abcdc.com'
if url.endswith('.com'):
url = url[:-4]
Oder reguläre Ausdrücke verwenden:
import re
url = 'abcdc.com'
url = re.sub('\.com$', '', url)
Dies ist eine perfekte Anwendung für reguläre Ausdrücke:
>>> import re
>>> re.match(r"(.*)\.com", "hello.com").group(1)
'hello'