2013-10-17 43 views
0

我試圖從多個.txt文件中提取浮點指數數字,該數字使用短語進行搜索,然後進行提取。例如,我有一個看起來像這樣的.txt文件。從文本文件中提取浮點指數格式的數字

FEA Results: 
Tip rotation (deg) =, 7.107927E-18 
Tip displacement =, 3.997556E-07 

而我使用下面的腳本中提取尖端旋轉數據:

regexp = re.compile(r'Tip rotation .*?([0-9.-]+)') 
    with open(fileName) as f: 
     for line in f: 
      match = regexp.match(line) 
      if match: 
       rotations.append(float((match.group(1)))) 

的問題是它只返回浮點指數的第一部分(即的代替7.1079277.107927E-18)。任何想法如何我可以糾正它?

回答

1

你的正則表達式有這樣的:

([0-9.-]+) 

它缺少對E - 補充說,在括號(在前面或後面,無所謂)。此外,您可能需要將減號移到前面,因此不會將其解釋爲範圍。像這樣:

([-0-9.E]+) 
+0

正確的金錢你傳說!非常感謝! – user2739143