2011-03-11 116 views
0
for line in fname: 
    fields = line.rstrip("\n").split() 
    dc = refindall('0.8|0.9).group() 
    samples = line 
    sys.stdout.writelines(samples) 

如何在一列的文本文件中查找特定的數字值?

我有另外一個問題,發現在一列文本文件的每一行特定的浮動(數字(0.8和0.9)值。其次,如果它發現這條線,它應該被刪除。這是我的代碼:

+4

什麼問題? – payne 2011-03-11 20:21:53

+0

在上面的代碼中,我試圖找到等於0.8的行。它是一個單列的文本文件。 – user587646 2011-03-11 20:35:18

回答

0
for line in fname: 
fields = line.rstrip("\n").split() 
dc = re.findall(r'0\.8|0\.9').group() 
samples = line 

sys.stdout.writelines(samples) 

我覺得你不是在正則表達式逃避.

編輯:見馬克·拜爾斯後:你真的不需要正則表達式這樣的事情

4

你在你的代碼的一些誤區:

  • 有重和的findall之間的漏點。
  • 正則表達式中的點意味着「匹配任何字符」。
  • 由於缺少報價,您的字符串未正確終止。
  • re.findall有兩個參數。你似乎只提供一個。
  • re.findall返回字符串列表。列表沒有稱爲「組」的方法。
  • 代碼沒有正確縮進。

但是這裏不需要正則表達式。試試這個列表理解,而不是:

lines = [line for line in lines if not (line == '0.8' or line == '0.9')] 
相關問題