1. ホーム
  2. python

[解決済み] 文字列から接頭辞を削除する [重複]。

2022-04-21 10:51:56

質問

私は以下のことを、わかりやすいpythonicな方法で行おうとしています。

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

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

これは、与える。

xtensions

というのは、私が期待していたものとは違うのですが( extensions ). 明らかに(愚かな私)、私が使っているのは ストリップ lstrip は、渡された chars その文字列は本当の文字列としてではなく、"文字列の先頭から削除する文字のセット"として考慮されます。

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

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

標準的な方法がわかりません。

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

Boris と @Stefan が指摘したように、Python 3.9 以降では以下のようになります。

text.removeprefix(prefix)

を同じ動作で表示します。