我有10个文件,每个文件100行。我需要翻译。
这是某些文件中的一行:"Client Notes,141"
和另一个文件"Client Notes,700"
我想将所有10个文件中的所有相关行修改为:
"Client Notes,141,KundLinjer"
"Client Notes,700,KundLinjer"
"Client Notes,770,KundLinjer"
我尝试使用正则表达式和宏,但我无法弄清楚
感谢帮助!
答案 0 :(得分:1)
假设它是Notepad ++,而不是Notepad2:
\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
。