文字列からプレフィックスを削除する [重複] 質問する

文字列からプレフィックスを削除する [重複] 質問する

私は、明確な Python の方法で次のことを実行しようとしています。

def remove_prefix(str, prefix):
    return str.lstrip(prefix)

print(remove_prefix('template.extensions', 'template.'))

これは与える:

xtensions

これは私が期待していたものではありません ( extensions)。明らかに (愚かな私)、lstrip を間違って使用したためです。lstrip は、渡された文字列に現れるすべての文字を削除しますchars。その文字列を実際の文字列としてではなく、「文字列の先頭から削除する文字のセット」として扱います。

文字列の先頭から部分文字列を削除する標準的な方法はありますか?

ベストアンサー1

Python 3.9+ の場合:

text.removeprefix(prefix)

古いバージョンの場合、次のように同じ動作が提供されます。

def remove_prefix(text, prefix):
    if text.startswith(prefix):
        return text[len(prefix):]
    return text

おすすめ記事