1
使用Python解釋我在下面的格式輸入文件:文本替換在應用re.sub
<ftnt>
<p><su>1</su> aaaaaaaaaaa </p>
</ftnt>
...........
...........
...........
... the <su>1</su> is availabe in the .........
我需要在ftnt
標籤來取代值和刪除整個數據將其轉換爲以下格式:
"""...
...
... the aaaaaaaaaaa is available in the ..........."""
請找到我寫的代碼。最初,我將鍵值&保存在字典中,並嘗試使用分組替換基於鍵的值。
import re
dict = {}
in_file = open("in.txt", "r")
outfile = open("out.txt", "w")
File1 = in_file.read()
infile1 = File1.replace("\n", " ")
for mo in re.finditer(r'<p><su>(\d+)</su>(.*?)</p>',infile1):
dict[mo.group(1)] = mo.group(2)
subval = re.sub(r'<p><su>(\d+)</su>(.*?)</p>','',infile1)
subval = re.sub('<su>(\d+)</su>',dict[\\1], subval)
outfile.write(subval)
我試圖用字典中re.sub
,但我得到一個KeyError
。我不知道爲什麼會發生這種情況,請告訴我如何使用。我很感謝這裏的任何幫助。
在格式化問題中的代碼時使用四個空格。它更清晰,不會在代碼片段之間留下空格 – TerryA
我編輯了格式,如果出現錯誤,請糾正(使用問題下的[編輯]鏈接)。 –
[不再](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags)... –