我在文本文件中有这样的字符串:
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]
正确查找数值,后跟句点,后跟大写字母。
我想在句号和大写字母之间插入一个空格。我该怎么做?
答案 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等类似问题。)