1. ホーム
  2. python

[解決済み] 文字列の末尾から部分文字列を削除するにはどうすればよいですか?

2022-03-20 20:04:29

質問

次のようなコードがあります。

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

期待した。 abcdc

得た。 abcd

今、私は

url.rsplit('.com', 1)

もっといい方法はないのでしょうか?

どのように解決するのですか?

strip は、quot;この部分文字列を削除してください、という意味ではない。 x.strip(y) 扱う y を文字の集合とみなし、その集合に含まれるすべての文字を x .

オン Python 3.9 およびそれ以降 を使用することができます。 removeprefix removesuffix メソッドを使って、文字列のどちらか一方から部分文字列全体を削除することができます。

url = 'abcdc.com'
url.removesuffix('.com')    # Returns 'abcdc'
url.removeprefix('abcdc.')  # Returns 'com'

関連する Python Enhancement Proposal は以下の通りです。 PEP-616 .

について Python 3.8 およびそれ以前 を使用することができます。 endswith とスライスしています。

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

または 正規表現 :

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