使用正则表达式记事本++在所有文件的每一行末尾添加单词

时间:2018-09-10 16:11:45

标签: regex notepad++

我有10个文件,每个文件100行。我需要翻译。

这是某些文件中的一行:"Client Notes,141"

和另一个文件"Client Notes,700"

中的另一个相似字词行

我想将所有10个文件中的所有相关行修改为:

"Client Notes,141,KundLinjer"
"Client Notes,700,KundLinjer"
"Client Notes,770,KundLinjer"

我尝试使用正则表达式和宏,但我无法弄清楚

感谢帮助!

3 个答案:

答案 0 :(得分:1)

假设它是Notepad ++,而不是Notepad2:

  • Ctrl + H
  • 查找内容:\bClient Notes,\h*\d+\K
  • 替换为:,KundLinjer
  • 检查环绕
  • 检查正则表达式
  • 全部替换

说明:

\b              : word boundary
Client Notes,   : literally
\h*             : 0 or more horizontal spaces
\d+             : 1 or more digits
\K              : forget all we have seen until this position

给定示例的结果

Client Notes,141,KundLinjer
Client Notes,700,KundLinjer 

答案 1 :(得分:0)

您可以尝试以下查找并替换:

查找:

update t 
set lastname = (select top 1 lastname 
                from @TempTable t2 
                where t2.lastname is not null and
                       t.id > t2.id 
                order by t2.lastname) 
from @TempTable t
where firstname is not null;

delete from @TempTable 
where firstname is null;

select * from @TempTable;

替换:

^Client Notes,(\\d+)

要使其适用于多个文件,请使用对话框中的目录选项选择包含10个文件的文件夹。如果将10个文件分散在多个位置,则创建一个包含这些文件的文件夹。另外,请确保执行查找并替换为启用的正则表达式模式。

答案 2 :(得分:0)

在nodepad ++中,您可以使用快捷方式:Ctrl+H,然后在Replace标签下,search mode选择Regular expression

查找: (Client Notes, \d+)

替换: \1, KundLinjer

您可以选择: Replace All in All Opened Documents

说明

方括号(客户注释,\ d +)将“捕获”要在替换\1中使用的方括号中的任何内容(如果您有更多捕获内容,则可以使用\2,{{1 }}等。

\ d +表示一次或多次(在您的情况下为141、700)。

因此,我们将文本“客户注释(AnyNumber)”替换为“客户注释(AnyNumber)KundLinjer”。

如果您想将\3添加到所有行,无论如何,也可以将(.*)替换为\1 KundLinjer