2016-09-24 4 views
0

ファイルからこのデータを読み取るときに、このようなデータがあります。最初の8桁が満たされている場合にのみリストに追加する方法はありますか?分割して最初の8桁が一致するか確認する

descr = input() 
reqd_int = int(descr.split(' ')[0:8]) 
以下のように

11111111 ABC Data1 

私の現在の方法はそれを行うだけ入力文字列から8桁の数字を追加したい場合は

+0

*最初の8桁が満たされている場合にのみリストに追加する方法はありますか? - それはどういう意味ですか?あなたの例が "111111 ABC Data11"だったら? –

+1

これは、正規表現があなたのためにできることを調べる絶好の機会です。 – usr2564301

+0

最初の8文字は数字であるべきですか? 're.search( '\ d {8}'、descr)'のようなものが動作するかもしれません。 – putvande

答えて

0

Number = descr.split(' ')[0] 

の間にスペースを分割されます

入力が開始時に8未満の整数を含む場合、これは失敗します。

他のオプションは、正規表現を使用することで、

re.search()関数は、最初のparameteのために、されない単一の整数のため \dスタンドと {8}が伝え何
import re 
reqd_int = int(re.search('\d{8}', descr)) 

以下のようにそれを使用しますそのような伝染性のある整数ブロックを8つ見ています。

正規表現hereで詳しく調べることができます。

関連する問題