小编fwk*_*wkb的帖子

换行后的否定前瞻?

我有一个类似CSV的文本文件,大约有1000行.文件中的每个记录之间是一长串破折号.记录通常以\n结尾,但有时在记录结束前有一个额外的\n.简化示例:

"1x", "1y", "Hi there"
-------------------------------
"2x", "2y", "Hello - I'm lost"
-------------------------------
"3x", "3y", "How ya
doing?"
-------------------------------
Run Code Online (Sandbox Code Playgroud)

我想用空格替换额外的\n,即连接破折号之间的线.我以为我能做到这一点(Python 2.5):

text = open("thefile.txt", "r").read()    
better_text = re.sub(r'\n(?!\-)', ' ', text)
Run Code Online (Sandbox Code Playgroud)

但这似乎取代了每一个\n,而不仅仅是那些没有紧随其后的那些.我究竟做错了什么?

我问这个问题是为了提高我自己的正则表达能力并理解我犯的错误.最终目标是生成一种格式的文本文件,该格式可由特定的VBA for Word宏使用,该格式生成一个样式化的Word文档,然后由Word友好的CMS消化.

python regex

2
推荐指数
2
解决办法
965
查看次数

标签 统计

python ×1

regex ×1