2016-11-23 23 views
-1

6M1D14Mのような文字列があります。私はこの文字列からすべての数字を抽出したいと思います。次のようなもの:文字列の数字をスペースなしで抽出する

[6, 1, 14] 

どうすればよいですか?文字列の長さは任意です。間に存在する数字は、任意の長さであってもよい。

私はthisアプローチを試みましたが、必要な方法で文字列を分割できませんでした。

+1

[OK]これはあなたが欲しいものです。しかし、あなたはそれを試しましたか?あなたはそうではありません。私のためにこれをしてください。 –

+0

あなたは正しいです。私はこのアプローチを試みていた:http://stackoverflow.com/questions/4289331/python-extract-numbers-from-a-string しかし、私は必要な方法で文字列を分割することができません。 – Swetabh

+0

コードに沿って試したことを質問してください。私たちはユーザーからの努力を示す質問が好きです。それでは、コードを一緒に修正する作業ができます。あなたはそれを行うより良いアプローチを知ることさえあります。 –

答えて

2

正規表現\d+

>>> import re 
>>> re.findall(r"\d+", "6M1D14M") 
['6', '1', '14'] 

で使用findAllちょうどそれらを反復処理し、解析した整数のリストに変換します。

>>> import re 
>>> [int(num) for num in re.findall(r"\d+", "6M1D14M")] 
[6, 1, 14] 
関連する問題