2016-08-24 147 views
1

我想在Notepad ++中编辑多个(〜2000)txt文件。更具体地说:我想将整个文本缩小到带有换行符的列。Notepad ++:编辑多个txt文件

像这样:

enter image description here

到:

enter image description here

当然它不是那么简单,因为文字是动态的,包含了一定的条件,这将在以后帮助支架一个搜索引擎(然而,当用一个非常方便的换行符分隔时,它们不会失效)。

我发现我可以在“编辑”选项卡中使用“分割线”操作。现在我只需要用其他文件来完成它。我想知道这是否可以自动化?因为它不是一个宏,它可能有点棘手。我想到的另一件事是在“查找文件”选项中使用RegEx。就像“找到n个字符,它们之间有n个空格”,然后“用相同的字符替换完全相同的字符,但在结尾添加换行符”。 或“每7个空格换行一次”。 不确定这是否可行。我很好奇你对此的看法。有什么建议么?

+0

在*在文件中查找*,尝试'(:^ | \ G')(\ S *(?:\ H + \ S +){7})\ H *'作为搜索正则表达式模式和'$ 1 \ n'作为替换模式。 –

+0

Notepad ++输出: “搜索”(?:^ | \ G)(\ S *(?:\ h + \ S +){7})\ h *“(0在0个文件中选中)” – user80407

+0

您是否检查*正则表达式*单选按钮? –

回答

0

在文件查找,您可以使用

查找内容(?:^|\G)(\S*(?:\h+\S+){7})\h*
替换为$1\n

不要忘记在检查正则表达式单选按钮底部。

图案的详细资料

  • (?:^|\G) - 线的任开始或上次成功匹配
  • (\S*(?:\h+\S+){7})的端部 - 第1组后来在替换模式与反向引用$1参考,捕捉0+非空白符号,紧跟7个1+水平空格和1+非空白序列
  • \h* - 零或多个水平空格

enter image description here

+0

进一步用法的一些反馈:我做了一些测试运行,它似乎已经工作,但;我在Notepad ++中打开了这些文件,并且它们是脚本格式化的。当我用记事本打开它们时,它们就像以前一样正常!就像剧本甚至没有发生过一样。手动保存它们,覆盖文件没有帮助。 – user80407

+0

在记事本中,使用CRLF结尾。用'$ 1 \ r \ n'代替以显示Windows样式换行符。 –

+0

当然好了。它现在正确显示。所有文件都是UTF-8格式,那么我应该使用'$ 1 \ r \ n'还是'\ n'?如果我想将它显示给用户,我想我应该采用'$ 1 \ r \ n' – user80407