Notepad++ copy/paste 每行的一部分替换

Notepad++ copy/paste part of each line with replace

我想知道我们是否可以用记事本++做以下事情。我有一个世界上所有国家的详尽列表,这只是其中的一小部分:

Afghanistan : '',
Albania : '',
Algeria : '',
American Samoa : '',
Andorra : '',
Angola : '',
Anguilla : '',
Antigua and Barbuda  : '',

我需要在单引号之间插入每个国家,如下所示:

Afghanistan : 'Afghanistan',
Albania : 'Albania',
Algeria : 'Algeria',
American Samoa : 'American Samoa',
Andorra : 'Andorra',
Angola : 'Angola',
Anguilla : 'Anguilla',
Antigua and Barbuda  : 'Antigua and Barbuda',

有没有我们可以解析每一行并使用某种类型或正则表达式如上所述注入每个国家的地方?

  • Ctrl+H
  • 查找内容:^(.+?)\h+:\h+'
  • 替换为:[=14=]
  • 选中环绕
  • 检查正则表达式
  • 不勾选. matches newline
  • 全部替换

解释:

^           : begining of line
  (.+?)     : group 1, 1 or more any character not greedy
  \h+       : 1 or more horizontal spaces
  :         : literally  colon
  \h+       : 1 or more horizontal spaces
  '         : single quote

替换:

[=11=]      : whole match
      : content of group 1 (ie the country name)

给定示例的结果:

Afghanistan : 'Afghanistan',
Albania : 'Albania',
Algeria : 'Algeria',
American Samoa : 'American Samoa',
Andorra : 'Andorra',
Angola : 'Angola',
Anguilla : 'Anguilla',
Antigua and Barbuda  : 'Antigua and Barbuda',    

您可以在 Notepad++ 中使用正则表达式轻松做到这一点 搜索并替换

  1. 在记事本++中打开文件
  2. 从主菜单打开搜索 -> 替换(或 Ctrl+H)
  3. Find what:行类型^(.*?)\s:\s'',$
  4. Replace with:行类型 : '',
  5. 检查 Search Mode 面板中的 Regular expression 收音机
  6. 单击 Replace All 按钮。

下面你可以看到我从你的样本数据中得到的结果。