我有一個類似CSV的文本文件,大約有1000行。文件中的每條記錄之間都是一連串的破折號。記錄通常以\ n結尾,但有時在記錄結束之前會有一個額外的\ n。簡化示例:換行符後的負向向前?
"1x", "1y", "Hi there"
-------------------------------
"2x", "2y", "Hello - I'm lost"
-------------------------------
"3x", "3y", "How ya
doing?"
-------------------------------
我想用空格替換多餘的\ n,即連接破折號之間的連線。我想我能做到這一點(Python 2.5中):
text = open("thefile.txt", "r").read()
better_text = re.sub(r'\n(?!\-)', ' ', text)
,但似乎每次替換\ n,不只是不跟一個破折號的人。我究竟做錯了什麼?
我在問這個問題,試圖提高自己的正則表達式技能,並理解我犯的錯誤。最終目標是生成一種文本文件,其格式可由特定的VBA for Word宏使用,從而生成一個樣式化的Word文檔,然後由Word友好的CMS進行消解。
如果這是Perl,我會說'$ /'設置爲''------------------------------- ' – 2009-09-14 19:11:08