Notepad++ 合并两行为一行

15
我有以下文本;
国家=法国 姓名=珍
国家=德国
姓名=迈克尔
国家=英格兰
姓名=杰克
我希望它看起来像这样;
国家=法国 姓名=珍
国家=德国 姓名=迈克尔
国家=英格兰 姓名=杰克
如何在Notepad++中完成此操作?
4个回答

28

在菜单中选择编辑(Edit)→行操作(Line Operations)→连接行(Join Lines),或者

选择要连接的行并按下Ctrl+J --> 这是最简单的选项 :)


在小型结构上,手动方法通常比详细的(编程)方法更快更有效。具体原因是,这样的结构往往会有一些价值,而这些价值通常会偏离旨在覆盖它们的规则。有机会忽略这些价值会增加其重要性。然而,对于大多数程序员来说,编程解决方案更具吸引力,即使这可能会导致用大炮打蚊子的情况。 - ljgww
1
而 CTRL-J 很像 vim 的“J”命令。很好,你甚至不需要选择整行,只需选择部分即可。 - A. R. Diederich
这有什么比按END然后按DELETE更快的吗?你可以一遍又一遍地按ENDDELDOWN进入节奏。针对@ljgww的观点,使用“连接行”或使用这种方式消灭大量蚊子需要几周时间,这就是为什么程序员喜欢大炮的原因,因为我们经常一次处理数千行代码。 - pbarney
@pbarney,你说得对,但是Ctrl-J可能更有效的几种方法:(a)必要时交错空格,(b)一次折叠多行,(c)可能更加自由(鼠标用右手,Ctrl-J用左手),但不确定。 - Bob Stein

8
使用扩展的替换功能,将 "\r\nname" 替换为 " name"。
根据文件替换适当的行结束符 \r\n。
如果来自 Windows,则使用 \r\n。
如果来自 Unix,则使用 \n。
如果来自 Mac,则使用 \r。

@Sarah Meadow 你也可以查看http://superuser.com/questions/411193/append-lines-one-after-another-in-notepad - Stat-R

5
  1. 打开“搜索>替换”对话框

  2. 在“查找内容”字段中输入字符串“(country=\w*)\r\n(name=\w*)”,不包括引号。

  3. 在“替换为”字段中输入字符串“(\1) (\2)”,同样不包括引号。

  4. 选择“正则表达式”搜索模式。

  5. 点击“查找下一个”进行测试。

  6. 如果选中了两行以country=XX和name=YY开头的内容,则点击“全部替换”。

如果您没有使用Windows,则必须仅使用\n或\r,具体取决于您是否使用Linux / Unix或Mac。

Notepad ++使用Posix正则表达式。您可以参考任何标准的Posix Regex参考资料,例如这个这个


-1

如果有类似的情况,想要添加一些帮助:
替换文件中前一行数字和第二个文本的行

1
text
2
text

基于Filipe Fedalto的答案,正则表达式将是:

find:(\d+)\r\n
replace:(\1)

这怎么回答问题了? - Toto
这是针对主题“Notepad++将2行合并为1行”的直接回答,我找不到需要的信息,却发现了类似的问题,因此我的回答可以在类似的情况下提供帮助,有什么问题吗? - headroot
这并没有回答具体的问题,也不是一个通用的答案。 - Toto
那么,没有类似的东西吗? - headroot

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