如何在 Notepad++ 中查找字符串模式、删除空格并插入逗号?

如何在 Notepad++ 中查找字符串模式、删除空格并插入逗号?

因此,经过一周的正则表达式使用,查看了数百个谷歌搜索结果,并在这里获得了令人难以置信的帮助,我已经对使用“查找内容”查找字符串感到相当自在。但“替换为”的逻辑仍然让我头疼。

我在 Notepad++ 中有数千行代码,其中“1st Dam”与大写字母相邻,如下所示:

1st DamTEACHMEHOWTO
1st DamTEAGARDEN

我需要将“1st Dam”改为“1stDam”,以便在前一个大写单词前面有一个逗号和空格,如下所示:

1stDam, TEACHMEHOWTO
1stDam, TEAGARDEN

我可以在“查找内容”中找到我想要更改的模式

1st Dam[A-Z]

但我不知道在“替换为”中要放什么。此代码近似于我要查找的内容:

1st Dam,

但它当然会删除第一个大写字母。

我会非常感激您的帮助。提前感谢您的时间和帮助。  

答案1

你需要使用捕获组对于您想保留的部分:

  • 找什么1st Dam([A-Z])
  • 替换为:1stDam, $1

答案2

  • 找什么:(Dam)(?=[A-Z])
  • 替换为:(\1,逗号后有一个空格)
  • 搜索方式:正则表达式

解释:

  • (Dam):比赛大坝
  • (?=[AZ]):正向预测匹配单个字符

如果 Dam 后面跟着一个大写字母,则将其替换为 Dam 后面跟着一个逗号和一个空格。

答案3

没有捕获组的解决方案:

  • Ctrl+H
  • 找什么:1st Dam\K(?=[A-Z])
  • 替换为:, <--逗号后有一个空格
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • Replace all

解释:

1st Dam         # literally
\K              # Reset operator, forget all we have seen until this position
(?=[A-Z])       # positive lookahead, make sure we have a capital after

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容