2016-03-30 8 views
0

reモジュールを使用してPythonで数字を文字列から区切りたいのですが、できませんでした。Pythonでreと一致する文字列

私は、次のコードを試してみました:

0.555/0.980/ 

がどのように私は、最初と最後の番号を取得できます。私はこれを得た

import re 
t='0.555/0.980/2.563' 
r=re.search((".*")+re.escape('/'),t).group() 
print "first number " ,r 

を?あなたはこのような何か使いたい

おかげ

+0

't.split( "/")を'使用しないのはなぜ? – zondo

答えて

0

:次に

result = re.match(r'(\d*\.?\d+)/.+/(\d*\.?\d+)', '0.555/0.980/2.563') 

result.group(1)result.group(2)は何をしたいあなたを与えるだろう。これを確認する方法は、()が必要な特定のグループを定義することです。 ()の内容は、あなたがどんな種類のパターンを必要としているかを示しています。この場合、正規表現はそこに現れるすべての10進数を取得するように調整されています。

しかし、@ zondoは正しいです:result = t.split('/')ではるかに優れた動作を得ることができます。その後result[0]result[-1]は、それに応じて最初と最後の分割を行います。

0

re.splitを使用すると、文字列形式が同じであれば番号を分割できます。

import re 

dataString = "0.555/0.980/2.563" 

numbers = [float(n) for n in re.split("/", dataString, re.DOTALL)] 

print(numbers) 

これは、あなたが個別に各番号を印刷する必要がある場合は、単にリストを反復配列

[0.555, 0.98, 2.563] 

で数値を抽出します。

for n in numbers: 
    print(n) 

あなたは得られます。

0.555 
0.98 
2.563 
+0

ありがとうございます – Anees

関連する問題