str.strip()
Pythonでcharの代わりにリストを渡す方法はありますか? 私はこのようにしてきました:
unwanted = [c for c in '!@#$%^&*(FGHJKmn']
s = 'FFFFoFob*&%ar**^'
for u in unwanted:
s = s.strip(u)
print s
望ましい出力、この出力は正しいですが、上記のコーディング方法よりも洗練された方法が必要です。
oFob*&%ar
Strip とその仲間は一連の文字を表す文字列を取るので、ループをスキップできます。
>>> s = 'FFFFoFob*&%ar**^'
>>> s.strip('!@#$%^&*(FGHJKmn')
'oFob*&%ar'
(これの欠点は、fn.rstrip(".png")
多くのファイル名で機能するように見えるが、実際には機能しないことです)
途中から要素を削除したくないので、そのまま使用できます。
>>> 'FFFFoFob*&%ar**^'.strip('!@#$%^&*(FGHJKmn')
'oFob*&%ar'
それ以外の場合は、 を使用しstr.translate()
ます。
>>> 'FFFFoFob*&%ar**^'.translate(None, '!@#$%^&*(FGHJKmn')
'oobar'