【发布时间】:2016-11-05 09:41:24
【问题描述】:
我正在将一本书从 pdf 转换为记事本文本。在 pdf 中,行长是固定的,结果一半的句子被转移到文本输出中的新行。
我需要一个用于 notepad++ 的正则表达式,它执行以下操作:
如果新行不是以- 开头,则将其合并到上一行并执行(空白)。
任何其他使文本正确的选项都将被接受。
【问题讨论】:
标签: regex pdf replace notepad++ pdftotext
我正在将一本书从 pdf 转换为记事本文本。在 pdf 中,行长是固定的,结果一半的句子被转移到文本输出中的新行。
我需要一个用于 notepad++ 的正则表达式,它执行以下操作:
如果新行不是以- 开头,则将其合并到上一行并执行(空白)。
任何其他使文本正确的选项都将被接受。
【问题讨论】:
标签: regex pdf replace notepad++ pdftotext
\r?\n(?!-)
替换为: _ 一个空格,而不是此处显示的下划线。
** 要更好地查看图像,只需右键单击图像并选择在新窗口中查看
此正则表达式将执行以下操作:
- 的换行符
现场演示
https://regex101.com/r/jE2mI1/1
示例文本
-line 1
line 2
line 3
-line a
line b
line c
更换后
-line 1 line 2 line 3
-line a line b line c
NODE EXPLANATION
----------------------------------------------------------------------
\r? '\r' (carriage return) (optional (matching
the most amount possible))
----------------------------------------------------------------------
\n '\n' (newline)
----------------------------------------------------------------------
(?! look ahead to see if there is not:
----------------------------------------------------------------------
- '-'
----------------------------------------------------------------------
) end of look-ahead
----------------------------------------------------------------------
【讨论】: