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

多类型引号字符串清洗:身高数据标准化方案求助

身高数据引号统一清洗方案

可用的文本规范化库

你可以使用ftfy(Fix Text For You)这类通用文本修复库,它能自动识别并替换各种Unicode标点为标准形式,包括你遇到的这类特殊引号。安装后只需调用简单的API就能完成规范化:

from ftfy import fix_text

cleaned_height = fix_text("5’4″")
# 输出: "5'4""

不过如果只是针对这个特定的引号替换需求,直接用正则表达式会更轻量,无需额外依赖。

简洁正则表达式实现

直接用正则的字符集匹配所有需要替换的相似符号,分两步完成替换:

import re

def normalize_height_quotes(height_str):
    # 替换所有英尺类引号(右单引号、prime符号、左单引号)为标准单引号
    height_str = re.sub(r'[’′‘]', "'", height_str)
    # 替换所有英寸类引号(double prime、右双引号、左双引号)为标准双引号
    height_str = re.sub(r'[″”“]', '"', height_str)
    # 可选:移除英尺与英寸之间的多余空格(如需要统一格式为无空格形式)
    # height_str = re.sub(r'(?<=\')\s+(?=")', '', height_str)
    return height_str

# 测试示例
print(normalize_height_quotes("5’4″"))  # 输出: 5'4"
print(normalize_height_quotes("5′ 9″")) # 输出: 5' 9"(启用可选规则后为5'9")

正则说明

  • [’′‘]:匹配所有需要替换成单引号的相似字符,涵盖常见的Unicode单引号变体
  • [″”“]:匹配所有需要替换成双引号的相似字符,涵盖double prime及左右双引号
  • 可选的空格移除规则使用正向断言,只删除单引号和双引号之间的空格,不影响其他位置的空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:01:15