2014-02-17 84 views
0

我有如下文字:蟒蛇查找和替換新線

Name:John 
Age:23 
Status:Single 
Gender:Male 
Name:Merry 
Age:19 
Gender:Female 
Name:Alex 
Age:20 
Status:Single 
Gender:Male 

我用下面的記事本+ +查找和替換

Find:\r\nAge: 
Replace:!Age; 
Find:\r\nStatus: 
Replace:!Status; 
Find:\r\nGender: 
Replace:!Gender; 

有輸出:

Name:John!Age;23!Status;Single!Gender;Male 
Name:Merry!Age;19!Gender;Female 
Name:Alex!Age;20!Status;Single!Gender;Male 

如何使用記事本++ python腳本來代替查找和替換

我可以使用下面的語句來加入一些編輯的行嗎?

editor.pyreplace(r"\r$\n", "!", 0, Editor.INCLUDELINEENDINGS) 

回答

0

那豈不是更容易做一個正則表達式替換,搜索

\r\n(?!Name) 

!更換所有比賽嗎?

0

我覺得你的最簡單的方法就是更換所有車廂/新線OCCURENCES不Name帶有驚歎號preceeded:

import re 
with open('input.txt', 'r') as f: 
    print re.sub('\r?\n(?!Name)', '!', f.read()) 

輸出:

Name:John!Age:23!Status:Single!Gender:Male 
Name:Merry!Age:19!Gender:Female 
Name:Alex!Age:20!Status:Single!Gender:Male 
+0

它不適用於我。你能幫忙嗎? – user2792748

+0

你得到的錯誤信息是什麼? – Matt

+0

SyntaxError:無效的語法 – user2792748

0

在Python:

with open('outfile.txt', 'w') as outhandle, open('file.txt', 'r') as inhandle: 
     outhandle.write(inhandle.read().replace('\nAge:','!Age;').replace('\nStatus:','!Status;').replace('\nGender:','!Gender;')) 

輸出將寫入outfile.txt並將輸入文件視爲'文件。文本'。

+0

我不想指定文件名。是否可以用腳本直接在文件上運行 – user2792748