Python'da bir dizenin sonundan bir alt dizeyi nasıl kaldırırım?

Aşağıdaki koda sahibim:

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

Beklediğim: abcdc

Anladım: abcd

Şimdi yapıyorum.

url.rsplit('.com', 1)

Daha iyi bir yolu var mı?

Çözüm

'strip' "bu alt dizeyi kaldır" anlamına gelmez. x.strip(y),yyi bir karakter kümesi olarak ele alır ve bu kümedeki tüm karakterlerix`in uçlarından çıkarır.

Bunun yerine endswith ve dilimleme kullanabilirsiniz:

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

Ya da düzenli ifadeler kullanarak:

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

URL[:-4]` nasıl olur?

Yorumlar (0)

Bu, düzenli ifadeler için mükemmel bir kullanımdır:

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