如何仅替换文本文件中的特定换行符?

How can I replace only specific newline's in my text file?

我有一个如下所示的文本文件:

#EXTINF:0,ABC family USA 
abc.com

#EXTINF:0,ABC HD USA
abc.com/usa

#EXTINF:0,AMC USA
amc.com/usa

#EXTINF:0,BLOMBERG USA 
 blomberg.com/usa

但是我希望将 header 和 link 替换为如下所示:

#EXTINF:0,ABC family USA[]abc.com 

#EXTINF:0,ABC HD USA[]abc.com/usa

这样我就可以很容易地使用这个文件并将内容变成一个数组。 但是我不希望每一行都包含两个括号。我只想将 header 和 link 组合起来,并在它们之间有一个括号。我不确定如何通过 notepad++ 完成此操作?

感谢您的帮助!

如果您的文本文件完全一致(仅包含与上面的原始摘录类似的行,没有尾随空格)您可以使用此正则表达式查找出现在 和 octothorpes 之后的换行符:

\n(?!(^[#\s]))

并替换为:

[]

结果如下所示:

#EXTINF:0,ABC family USA[]abc.com

#EXTINF:0,ABC HD USA[]abc.com/usa

#EXTINF:0,AMC USA[]amc.com/usa

#EXTINF:0,BLOMBERG USA[]blomberg.com/usa

已在 Sublime Text 3 中测试 - ST 和 NP++ 均使用 Perl Regex,但存在细微差异,因此这可能不适合您。

如果它在 NP++ 中不起作用,您可以获取 ST3 的副本here