我正在寫一個python腳本來爲幾個文本文件中的單詞分配語法類別。在每個文本文件中,我在尖括號<>內有文件頭。在整篇文章中,還有附加的行,包括時間戳,頁碼和抄錄器中的問題等信息。我想刪除這些行。這基本上是文本文件的樣子:Python,使用正則表達式消除尖括號內的行
<title Titipuru Supay>
<speaker name>
<sex female>
<dialect Pastaza>
<register narrative>
<contributor name>
chan; payguna serenkya man chiga;
<ima?>
payguna kirina man, chiga, mana
shayachira; ninagunan shi tujsirani nira:
illaparani nira shi illapay
<173>
pasasha, ima shi kasna nin, nisha,
即使有相同數量的每個頭文件的其他<>材料而異,所以我不能只是消除特定行。所以我想我會嘗試一些簡單的方法,像re.sub語句,它可以消除所有內容,包括括號在內的所有內容。
with open(file, encoding='utf-8') as file_in:
text = file_in.read()
re.sub(r"<.*>", " ", text)
我試過<。*>上pythex.org和regex101它與測試字符串這兩個地方的工作,但不是在我的腳本(是的,我有進口重)。我也試過其他的解決方案,如:\<.*\>
我只是沒有得到正確的或正確的東西嗎?
你怎麼知道它是不是工作?你是否堅持're.sub()'的某個地方的結果? - 它不適用 - 生成一個新的字符串。 – alecxe
我在它下面添加了一個打印(文本)語句,並且在輸出中我可以看到所有的<>材質仍然保留 – Wangana
嘗試'text = re.sub(r「<[^>」*>「,」「,text )'。否則,請添加更多文本以進行測試。 –