2011-09-22 100 views
2

我搜索一個文本文件的單詞提供一個正則表達式。然後,我使用該搜索的開始點和結束點來查看列並拖動整數。某些實例(列A)具有我不想要的前導空白。我想只打印數字(如列B中所示)到一個文件中,而不是前導空格。正則表達式在正則表達式?條件?正則表達式 - Python - 刪除領先的空白

price = re.search(r'(^|\s)off(er(ing)?)?', line, re.I) 
if price: 
    ps = price.start() 
    pe = price.end() 

      A    B 
      Offering  Offer 
      56.00   55.00 
      45.00   45.55 
      65.222  32.00 

回答

5

你可以使用strip()除去開頭和結尾的空格:

In [1]: ' 56.00 '.strip() 
Out[1]: '56.00' 
+0

在正則表達式結果的上下文中?我不能.strip()整個文本文件。 –

+1

@CaptainCretaceous:你必須一行一行地閱讀它(對不起,我認爲這部分足夠明顯),並且爲每一行做'line [ps:pe] .strip()' – NPE

0

如果你想刪除只使用正則表達式的龍頭空格,你可以使用應用re.sub做到這一點。

>>> import re 
>>>re.sub(r"^\s+" , "" , " 56.45") 
'56.45'