【问题标题】:Add word to the end of a each line in all files using regex notepad++使用正则表达式记事本++将单词添加到所有文件中每一行的末尾
【发布时间】:2018-09-15 23:54:49
【问题描述】:

我有 10 个文件,每个文件 100 行。我需要做他们的翻译。

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

和另一个文件中的另一个模拟字行"Client Notes,700"

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

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

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

感谢您的帮助!

【问题讨论】:

  • 请让你的标题和标签一致,是Notepad2还是Notepad++?
  • 感谢更新。 my answer 适合你吗?

标签: regex notepad++


【解决方案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 

【讨论】:

    【解决方案2】:

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

    查找:

    ^Client Notes,(\\d+)
    

    替换:

    Client Notes,$1,KundLinjer
    

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

    【讨论】:

      【解决方案3】:

      在 nodepad++ 中,您可以使用快捷方式:Ctrl+H 并在 Replace 选项卡下,search mode 选择 Regular expression

      查找: (Client Notes, \d+)

      替换: \1, KundLinjer

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

      说明

      括号(客户端注释,\d+)将“捕获”括号内的任何内容,以用于我们的替换 \1(如果您有更多捕获,您可以使用 \2\3 等。)

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

      因此,我们将文本“Client Notes (AnyNumber)”替换为“Client Notes (AnyNumber) KundLinjer”。

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

      【讨论】:

      • 请提供一些关于您的答案可能的解决方案的附加信息。
      • @StanislavMekhonoshin 用更多信息更新了我的答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多