我有一个类似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