2016-03-02 138 views
-1

我正在創建一個解析csv文件的腳本,爲了儘可能保持格式不可知,我使用正則表達式替換特定的子字符串。我正在尋找將單元格中的行替換爲作者的名稱,該名稱可以是任意數量的字符,並將包含一個電子郵件地址。保證在子字符串之前會有一個空格,並且後面會跟着換行符(單元格中的多行)或逗號(單元格中的最後一個項目)。用空格替換子字符串,然後用Python中的逗號替換

我使用...

line = re.sub(' \S+[^,]', " " + author, line) 

...嘗試更換空間和潛在的逗號之間的一切,但它包括結尾的逗號表達式中的線,並與他們更換作者。我以前試過......

line = re.sub(' \S+(?!,)', " " + author, line) 

...因爲這聽起來像一個負先行工作,但我還是沒能留住尾隨逗號。

我是新來的正則表達式,所以可能有一些簡單的,我失蹤,但我一直無法得到這個工作。

+1

使用['csv'](https://docs.python.org/3/library/csv.html)模塊。 –

+0

會:'[^ \ s,] +(?= [,\ n])'工作嗎? –

+0

@Someone如果你作出答案我會接受它。我覺得我錯過了一些愚蠢的東西。 – randman2011

回答

0

嘗試此代替:

/[^\s,]+(?=[,\n])/ 
+0

原來我問的是錯誤的問題,但是這回答了我所問的問題。謝謝! – randman2011

+0

@ randman2011哈哈np –