如何用Python正则表达式在指定句号后添加空格
Python正则表达式:在句号后添加空格的解决方案
问题场景
需要将字符串 pistils 1.7 mm long, glabrous.fruit ellipsoid 转换为 pistils 1.7 mm long, glabrous. fruit ellipsoid,核心需求是在单词后的句号与下一个单词之间插入空格。
通用解决方案
使用re.sub配合正则捕获分组,匹配"单词结尾+句号+单词开头"的结构,替换时在句号后添加空格:
import re sent1 = 'pistils 1.7 mm long, glabrous.fruit ellipsoid' sent2 = re.sub(r'(\w)\.(\w)', r'\1. \2', sent1) print(sent2) # 输出: pistils 1.7 mm long, glabrous. fruit ellipsoid
正则规则说明
(\w):捕获单词的最后一个字母数字字符(标记为分组1)\.:匹配字面意义的句号(正则中句号是通配符,需用反斜杠转义)(\w):捕获下一个单词的第一个字母数字字符(标记为分组2)- 替换字符串
r'\1. \2':保留分组1的内容,拼接"句号+空格",再保留分组2的内容,完成格式修正。
精准匹配特定场景
如果仅需处理glabrous.fruit这一处固定内容,可使用更精准的正则:
sent2 = re.sub(r'glabrous\.fruit', r'glabrous. fruit', sent1)
内容的提问来源于stack exchange,提问作者dbelroeckk
相关产品推荐
相关产品推荐

