Notepad++如何仅删除末尾无句号行的回车符
批量合并句中换行的替换方案
桌面文本编辑器方案(适用于VS Code、Notepad++、Sublime Text等支持正则替换的编辑器)
这是最容易上手的方案,适合少量到中等数量的文件处理:
- 打开编辑器的查找替换面板,批量处理多文件可打开「文件夹中查找/多文件替换」功能
- 勾选「正则表达式」匹配选项,关闭「匹配整个单词」选项
- 查找内容填写正则:
(\w)\r?\n
该规则会匹配行尾为单词字符(字母、数字、下划线)+换行符的内容,兼容Windows(\r\n)和Unix(\n)格式的换行 - 替换为内容填写:
$1
即保留原行尾的单词字符,替换换行符为一个空格,刚好达到你要的拼接效果 - 先预览几条替换结果确认符合预期,再执行全量替换即可
命令行方案(适用于大量文件批量自动化处理)
Linux/macOS 系统
使用Perl一行命令批量处理当前目录下所有txt文件:perl -0777 -pi -e 's/(\w)\r?\n/$1 /g' *.txt
执行后会直接修改原文件,建议先备份文件再运行。
Windows 系统
使用PowerShell脚本批量处理当前目录下所有txt文件:
Get-ChildItem *.txt | ForEach-Object { $content = Get-Content $_.FullName -Raw $content = $content -replace '(\w)\r?\n', '$1 ' Set-Content -Path $_.FullName -Value $content -Encoding UTF8 }
如果需要处理其他格式的文件,把命令里的*.txt换成对应的后缀即可。
注意事项
- 所有操作前请先备份原始文件,避免替换规则不符合预期导致内容丢失
- 如果不需要匹配行尾的下划线,可把正则中的
\w替换为[a-zA-Z0-9]即可
内容的提问来源于stack exchange,提问作者Erik Literature
相关产品推荐
相关产品推荐

