如何用Python正则表达式在字母与数字间添加空格
正则实现字母与数字间添加空格(不改动特殊字符相邻场景)
核心方案
你需要匹配字母和数字直接相连的两种情况,在中间插入空格,同时忽略数字/字母与特殊字符相邻的场景。可以用合并的正则一次性处理:
正则表达式与替换规则
- 匹配模式:
(\d)([A-Za-z])|([A-Za-z])(\d) - 替换模板:
$1$3 $2$4
代码示例(Python)
import re input_text = "A-21PHASE-1,ASHOK VIHARA-21, PHASE-1, - ASHOK VIHAR110052" processed_text = re.sub(r'(\d)([A-Za-z])|([A-Za-z])(\d)', r'\1\3 \2\4', input_text) print(processed_text)
输出结果:
A-21 PHASE-1,ASHOK VIHARA-21, PHASE-1, - ASHOK VIHAR 110052
逻辑说明
- 第一部分
(\d)([A-Za-z])专门捕获数字紧跟字母的片段(比如示例里的21P),替换时保留数字和字母,中间插入空格 - 第二部分
([A-Za-z])(\d)捕获字母紧跟数字的片段(比如示例里的R110052),同样在两者间添加空格 - 数字与特殊字符(
-、,这类)相邻、字母与特殊字符相邻的情况不会被匹配,因此这些位置的内容完全不会被改动
内容的提问来源于stack exchange,提问作者ravina dable
相关产品推荐
相关产品推荐

