Notepad ++使用replace复制/粘贴每一行的一部分

时间:2017-10-13 16:53:11

标签: regex notepad++ notepad

我想知道我们是否可以使用notepad ++执行以下操作。我列出了所有国家的详尽清单,这只是其中的一小部分:

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',

无论如何我们可以解析每一行并使用某种或正则表达式注入上面指出的每个国家?

2 个答案:

答案 0 :(得分:6)

  • 控制 + ħ
  • 找到:^(.+?)\h+:\h+'
  • 替换为:$0$1
  • 检查环绕
  • 检查正则表达式
  • 请勿检查. 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

<强>替换

$0      : whole match
$1      : 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',    

答案 1 :(得分:1)

你可以在Notepad ++中使用Regex轻松地做到这一点搜索&amp;取代

  1. 在Notepad ++中打开文件
  2. 打开搜索 - &gt;从主菜单(或Ctrl + H)替换
  3. Find what:行类型^(.*?)\s:\s'',$
  4. Replace with:行类型$1 : '$1',
  5. 查看Regular expression面板中的Search Mode电台
  6. 点击Replace All按钮。
  7. 下面您可以看到我从您的示例数据中获得的结果。 enter image description here