如何用Notepad++正则表达式将下一行内容合并到上一行?
在Notepad++中合并指定行的正则解决方案
需求说明
需要将文本中每一行PID:开头的行,与其下一行开头带有大量空格的Inventory for ...行合并为一行。
正确正则表达式及操作步骤
- 打开Notepad++并加载目标文本,按
Ctrl+H调出替换窗口 - 在「搜索模式」中选择「正则表达式」
- 填入以下内容:
- 查找内容:
\n\s+(Inventory for .*) - 替换为:
$1
- 查找内容:
- 点击「全部替换」即可完成合并
如果需要合并所有相邻行(不限内容),可以使用更通用的正则:
- 查找内容:
\n\s*(.*) - 替换为:
$1
原正则无效原因
你之前使用的\n(.+)$或\n(.+)会匹配换行后的所有内容,包括行首的大量空格,导致合并后保留冗余空格;同时如果文本末尾存在空行,还会出现不必要的合并操作,无法精准匹配需要合并的目标行对。
内容的提问来源于stack exchange,提问作者moraist
相关产品推荐
相关产品推荐

