如何在Notepad++中每隔X个字符插入回车换行符

28
我有一个固定记录长度的数据文件,记录之间没有回车符或换行符。如何使用Notepad++在每X个字符处插入回车换行对(其中X为记录长度)?

你的输入文件大小是多少? - PleaseStand
@idealmachine:我正在处理的文件大小为486 KB,有750个字符记录。 - DaveB
5个回答

76

我理解这不是最佳方案,但我很惊讶没有人提供纯Notepad++方案。

在正则表达式查找/替换中

查找:

(.{750})

替换:

$1\r\n

大致翻译如下:

查找:

查找750个任意字符并记住这些字符。

替换:

将刚刚记住的750个字符加上一个新行。

不过,说实话,如果需要运行多次,我会建议使用PowerShell方法。


2
谷歌带我来到这里。这对我需要拆分并进行差异比较的一次性文档非常有效!非常感谢。 - bgStack15
4
这个!...就是答案。 - RLH

16

这不是适合使用Notepad++处理的任务,特别是当输入文件较大时。你可以使用Windows PowerShell(可在Windows XP和Windows Vista上免费获得,也包含在Windows 7中)来完成此任务:

(gc in.txt) -replace ".{750}" , "$&`r`n" | sc out.txt

4
我新接触PowerShell。能否将命令的各个元素拆分开并注释说明它们的作用? - DaveB
@DaveB
  1. 首先计算括号,其中gc命令从文件(in.txt)获取内容。2. replace命令执行替换操作,取第一个参数(“.”表示任意字符,{750}表示750次),并用第二个参数进行替换(找到的字符串($)并添加回车+换行符(rn))。3. 然后将其发送,即管道(“|”)到下一个语句。4. sc命令然后将内容设置为文件参数(out.txt)。
- troy

6

Notepad++ v5.8.3有一个命令:首先选择整个文件,然后

编辑 -> 行操作 -> 拆分行

这将拆分行以使其恰好适合当前窗口。据我所见,您必须使用鼠标调整窗口的宽度。


这个不再起作用了。:'( 无论您的窗口有多宽,它们都会在浅蓝色线处被分割。 - endolith
看起来确实有一个选项可以设置蓝色线 https://notepad-plus-plus.org/community/topic/3/how-does-split-lines-work。 - Dennis T --Reinstate Monica--

5

对于V6.3版本

  1. 将框架窗口转换为文本长度

  2. 高亮[全部文本]>>编辑>全选

  3. 编辑>行操作>拆分行

以新名称保存文档。


2
  1. 输入您想要每行的字符数,选择它,然后选择编辑→剪切。

  2. 编辑→全选,然后选择TextFX→TextFX编辑→重新包装文本到(剪贴板或72)宽度

  3. TextFX→TextFX编辑→修剪尾随空格


我的记录有750个字符。按照您的指示操作后,我的记录长度各不相同。当我使用长度为10个字符进行测试时,去除尾随空格后会留下仅1个字符长的行 :( 我正在使用Notepad++ 5.7版本。 - DaveB
这对我不起作用。无论剪贴板中有什么内容,它总是换行到72个字符。 - endolith
NPPTextFX2是现在已经过时的TextFX的替代品。它可以在Notepad++插件管理器中找到,并且它的功能与答案中描述的一样。如果你将数字100复制到剪贴板中,它会自动将文本换行到该字符数。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接