【问题标题】:How can I replace only specific newline's in my text file?如何仅替换文本文件中的特定换行符?
【发布时间】:2015-03-30 15:48:05
【问题描述】:

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

#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

但是我希望标题和链接被替换为如下所示:

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

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

这样我可以很容易地使用这个文件并将内容转换成一个数组。 但是我不希望每个新行都包含两个括号。我只希望标题和链接组合在一起,并在它们之间有一个括号。我不知道如何通过记事本++来完成这个?

感谢您的帮助!

【问题讨论】:

  • 标题是否总是以USA 结尾?
  • @apgp88 抱歉,我只是从我的文件中随机抽取了一个样本,但标题不能以任何字母结尾。

标签: regex file text notepad++ newline


【解决方案1】:

如果您的文本文件是完全一致的(只包含与上面原始摘录类似的行,没有尾随空格),您可以使用此正则表达式查找出现在 和 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 正则表达式,但存在细微差异,因此这可能不适合您。

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

【讨论】:

  • 谢谢你这工作完美!非常感谢:)
猜你喜欢
  • 2021-07-10
  • 2017-11-03
  • 1970-01-01
  • 2010-10-16
  • 2019-03-02
  • 1970-01-01
  • 2012-01-11
  • 1970-01-01
相关资源
最近更新 更多