查找并替换插入的空格

时间:2015-11-11 01:08:55

标签: regex notepad++

我在文本文件中有这样的字符串:

10.Divide using the divider at 12C. and pressure at 3.0.
11.Form into cylinders and put on boards, don't handle too much.

此正则表达式(\d+\.)[A-Z]正确查找数值,后跟句点,后跟大写字母。

我想在句号和大写字母之间插入一个空格。我该怎么做?

2 个答案:

答案 0 :(得分:3)

其实你的正则表达式错了:

(\d+.)[A-Z]匹配1位或更多位数,后跟任意字符。正则表达式中的.表示任何字符。更正确的一个应该是\d+\.[A-Z](由于匹配不需要,也省略了该组。请注意,.已转义。)

为了插入空间,除了使用2组的另一个答案提供的解决方案之外:即查找(\d+\.)([A-Z])(注意点固定)并替换为\1 \2,您也可以考虑使用环视特征:

查找(?<=\d\.)(?=[A-Z])并替换为(单个空格)。这个正则表达式找到一个前面有数字然后是一个点的点,后面跟一个大写字母。然后我们用空格替换那个点。 (请注意,前瞻和后瞻组不包含在&#34;匹配的&#34;结果中)

答案 1 :(得分:0)

你大部分都在那里。在括号中包装正则表达式子表达式时,可以在查找和替换操作的“替换”字段中引用它。所以......

Find what: (\d+.)([A-Z])
Replace with: \1 \2

(请参阅this one等类似问题。)