Pythonを使用して文字列から数字以外の文字を削除しますか?質問する

Pythonを使用して文字列から数字以外の文字を削除しますか?質問する

文字列から数字以外のすべての文字を削除するにはどうすればよいですか?

ベストアンサー1

使用re.sub、 そのようです:

>>> import re
>>> re.sub('\D', '', 'aas30dsa20')
'3020'

\D数字以外の文字に一致するため、上記のコードは基本的に数字以外の文字をすべて空の文字列に置き換えます。

または、次のように を使用することもできますfilter(Python 2 の場合):

>>> filter(str.isdigit, 'aas30dsa20')
'3020'

Python 3 ではfilterではなくイテレータを返すためlist、代わりに以下を使用できます。

>>> ''.join(filter(str.isdigit, 'aas30dsa20'))
'3020'

おすすめ記事