You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何为无空格的英国邮政编码自动插入分隔空格?

英国邮政编码空格补全方案

核心逻辑

英国邮政编码的后半段固定为3位字符,因此可以跳过「判断是否已有空格」的分支逻辑,统一按以下步骤处理:

  • 先移除原始编码中的所有空格
  • 从倒数第3位的位置拆分字符串,中间插入空格即可

代码实现

字符串切片方案(最高效,无额外依赖)

post_codes = ["BH16 6FA", "HU37FD", "W4 5YE", "E50QD", "WC2H9JQ", "LE3 0PD"]

def format_postcode(code: str) -> str:
    cleaned_code = code.replace(" ", "")
    return f"{cleaned_code[:-3]} {cleaned_code[-3:]}"

processed_post_codes = [format_postcode(code) for code in post_codes]
print(processed_post_codes)

运行输出结果:

['BH16 6FA', 'HU3 7FD', 'W4 5YE', 'E5 0QD', 'WC2H 9JQ', 'LE3 0PD']

正则表达式方案

如果偏好正则实现,也可以用以下写法,无需提前清理空格:

import re

def format_postcode(code: str) -> str:
    # 匹配末尾3位字符,自动在前面补空格,兼容已有空格的场景
    return re.sub(r' ?(\w{3})$', r' \1', code)

内容的提问来源于stack exchange,提问作者Dappa jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:45:02