用记事本++用逗号分隔符替换新行?


165

我有一个Notepad ++问题。

如何在Notepad ++中使用以下单词(在不同的行上)

Apples
Apricots
Pear
Avocados
Bananas

并把它们变成每个逗号结尾的一段吗?像这样:

Apples, Apricots, Pear, Avocados, Bananas

Answers:


324

打开查找和替换对话框(按CTRL+ H)。

然后Regular expression在底部的“搜索模式”部分中选择。

Find what字段中输入以下内容:[\r\n]+

Replace with

逗号后有一个空格。

这也将替换像

Apples

Apricots
Pear

Avocados
Bananas

空行的地方。

如果您的行尾有空格,则应先删除这些空格。最简单的方法是

EDIT -> Blank Operations -> Trim Trailing Space

要么

TextFX -> TextFX Edit -> Trim trailing spaces

确保将搜索模式设置为“正则表达式”。


如果行上有尾随空格,您可以选择_*[\r\n]+。要处理空行变成多余的逗号,可以执行正则表达式搜索,_[,_]+并替换为,_。或者,TextFx程序包具有删除空格行命令,可以在添加逗号之前使用该命令。(请注意,这些代码块中的空格都
带有

是的,你是非常正确的。我只是想给出一个简单的答案。也许我应该然后编辑答案。

2
这对我不起作用:我看到“ 0个出现被替换了”。
伊恩·塞缪尔·麦克莱恩

3
@IainElder,搜索模式必须设置为“正则表达式”,而不是“常规”或“扩展”。
斯科特·劳伦斯

我和伊恩有同样的结果。
dhochee '16

34

这是我在Notepad ++中使用类似的字符串列表但没有任何宏或其他任何东西的方法:

  1. 单击编辑->空白操作->终止以空格[所有项目现在都应该在一行中,并用'空格'隔开]

  2. 选择任何“空格”并执行全部替换(用“,”代替)


简单优雅,美观
reggaeguitar 2014年

@trishul真的很好。
himanshupareek66 2014年

32

fapDaddy使用宏的答案将我引向正确的方向。

这正是对我有用的。

  1. 将光标放在第一个数据项之后。 在此处输入图片说明

  2. 点击菜单中的“宏>开始录制”。 在此处输入图片说明

  3. 输入这个序列:CommaSpaceDeleteEnd在此处输入图片说明

  4. 点击菜单中的“宏>停止录制”。 在此处输入图片说明

  5. 点击菜单中的“宏>多次运行宏...”。 在此处输入图片说明

  6. 单击“运行直到文件结尾”,然后单击“运行”。 在此处输入图片说明

  7. 删除所有结尾字符。 在此处输入图片说明

  8. 做完了!

在此处输入图片说明


5
对于数千个数据项,此方法很慢。
Iain Samuel McLean年长者,

好答案。谢谢:)
彼得T.

如此出色的信息,在许多类似情况下将非常有用。谢谢!
Moin

感谢您分享的信息。这真有趣。
Ironman '18 -10-5

4

对于Notepad ++ 5.9

  1. Ctrl + H
  2. 选择扩展搜索模式(\ n,\ r,\ t,\ o,\ x ...)
  3. 输入查找内容:\ r \ n
  4. 输入替换为:
  5. Replace_All应该会得到所需的结果。

3
该答案重复了已接受的答案,并且此答案指的是Notepad ++的旧版本,现已提供7.4.x版本。欢迎使用Stack Overflow,但请您提供新信息或提供新见解。重复现有答案是没有用的。
AdrianHHH

对于较新版本的npp,这是更好的方法。
nurdyguy

这是最简单的答案。我不必只用逗号替换换行符就可以进入正则表达式模式。N ++实际上可以正常工作,而其他编辑器将“ \ n”解释为回车符和换行符,这一开始让我感到困惑。
BrianVPS

3

将光标放在Apples后面,在Macro标签下,选择Start Recording。键入逗号()字符,空格()字符,按结束键,微距选项卡下,选择停止录制

Ctrl + Shift + P进行单次播放。


感谢您的提示。如果我有5000 ++个单词怎么办?我是否需要分别为所有它们运行宏?有没有更简单的方法?
user2231530

如果将来您必须执行类似的任务,则可能要为其编写脚本。简单的解决方法可能只是转到“宏”选项卡,然后选择“多次运行”宏。这将在几秒钟内完成。
viclim 2013年

+1您的回答为我指明了正确的方向。在我的回答中,我准确记录了对我有用的东西。
伊恩·塞缪尔·麦克莱恩

2

这听起来可能很奇怪,但是您可以通过复制整个文本并将其粘贴到firefox搜索栏中来删除下一行,然后在notepad ++中重新粘贴

第1步

第2步


1
请改善这个答案。指向图像的链接将无用。
提请


0

您可以使用cc.rnl ', 'ConyEdit(插件)的命令行用所需的内容替换新行。


0

正则表达式匹配\s+对我有用:

在此处输入图片说明


顺便说一句:在我看来,与regex匹配$^应该可以,但是可以匹配^$
user3673

实际上,使用“正则表达式”选项正上方的“扩展”选项(在您的屏幕截图中)实际上是最简单的方法。
nurdyguy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.