从 notepad++ 复制特定文本

从 notepad++ 复制特定文本

我在 notepad++ 中有一些这样的文本。我想复制行中引号内的文本,该行的下一行包含“未找到链接”文本

links in 'abc' as of time-spec 'now':
 No links found.

links in 'def' as of time-spec 'now':
 No links found.

links in 'xsdsw' as of time-spec 'now':
 dferg,regerg,grgerg
 No of links found: 3

期望输出(中间):

links in 'abc' as of time-spec 'now':
 No xlinks found.

links in 'def' as of time-spec 'now':
 No xlinks found.

期望输出(最终):

abc
def

答案1

这可能不是一个完美的解决方案,但如果您没有其他办法的话,这可能会有所帮助。

打开文件后,使用正则表达式搜索模式。使用以下条件作为查找条件(根据需要进行调整):

links in '(.*)' as of time-spec 'now':\r\n No links found.

“查找”对话框

点击“查找当前文档中的所有内容”您将获得类似以下的结果:

“结果”窗格

在结果窗格中,您应该能够Alt按 + 单击并突出显示单引号内的文本。然后按Ctrl+C复制值,然后您可以将它们粘贴到新文档或您想要的任何位置。注意:如果引号内的文本长度不一,则必须选择超过所需内容以突出显示每一行,并手动修改粘贴的文本以获得干净的结果。

带有突出显示字符的结果窗格

答案2

另一种方法是使用两个连续的正则表达式进行替换。打开文档后,按Ctrl+H即可获取替换对话框。

首先,对于“找什么“ 使用:

links in '(.*)' as of time-spec 'now':\r\n.*\r\n No of links found: \d*\r\n

离开 ”用。。。来代替“作为空文本框。单击“全部替换”,这应该可以有效删除您不想看到的行。

其次,保持“替换”对话框打开,然后输入以下表达式“找什么

links in '(.*)' as of time-spec 'now':\r\n No links found.\r\n

为了 ”用。。。来代替”,则输入以下内容:\1

再次单击“全部替换”,它将只留下您想要保留的值。

上述步骤的动画

相关内容