2011-12-15 9 views
1

に文字列から番号を格納する私は、このような文字列があります。方法のpython

を文字列=「在庫項目 『28031(111111:製品のテスト)』は正常に追加されました。」

最初の5桁(たとえば "28031")を文字列から別の文字列に保存する必要があります。

私はセレンテスターですから、私は新しい在庫アイテムを作成するたびに、彼は最初の5つの異なる番号を持っています。 neurinoソリューション賢いです!!:

フィリップ

答えて

3
m = re.search("\d+", string) 
print m.group(0) 

プリント28031

を一致させる方法を示すように編集

長さに関係なく、最初の桁のグループを選択するだけです(2803も選択されます)

+0

ありがとうございます。良い感じ ! :-) – Filip

0

EDITはあなたの助けをありがとう使用

print m.group(0)[0:5] 

:seheソリューションは、あなたが唯一の最初の5つの数字を取得するには、この行を追加することができ、スマートと完璧です:[0:5](0から5までの文字列要素を取ることを意味し、それを

EDITを使用第5要素)


string = "The stock item 28031 " 
Digitstring='' 
for i in string: 
    if i.isdigit(): 
     Digitstring+=i 

print Digitstring 

出力str.isdigit組み込み関数を使用します:

28031 

あなたが必要とする最初のx個の数字を数えてから停止することができます。

1

まず、これらの文字列がすべて同じ形式であると仮定しています。もしそうなら、あなたの在庫品目番号を取得する最も簡単な方法は次のとおりです。

stocknumber = string.split()[3][1:] 
1

sehe答えた後、私は去る鉱山はわずか5桁

import re 
re.search('\d{5}', string).group(0)