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

如何在Python正则中检测拉丁字符?含重音字符处理方案

适配重音拉丁文本的正则清理方案

最近在处理带重音的拉丁文本时,我遇到了正则匹配无法覆盖重音字符的问题,后来参考了Stack Exchange上的思路——通过在正则表达式前添加#字符来适配这类特殊字符,整理出了下面的文本清理函数:

import re

def clean_str(string):
    # 处理@开头的用户名类标记
    string = re.sub(r"#(@[a-zA-Z_0-9]+)", " ", string, re.UNICODE)
    # 给非字母数字且非#的字符前后加空格,避免文本粘连
    string = re.sub(r'#([^a-zA-Z0-9#])', r' \1 ', string, re.UNICODE)
    # 移除这类特殊字符
    string = re.sub(r'#([^a-zA-Z0-9#])', r' ', string, re.UNICODE)
    # 合并多个连续空格为单个空格
    string = re.sub(r'(\s{2,})', ' ', string, re.UNICODE)
    return string.lower().strip()

这个函数的核心处理逻辑:

  • 过滤掉@开头的标记类内容
  • 对特殊字符先做空格分隔再移除,防止清理后文本出现不必要的粘连
  • 统一合并多余空格、转小写并去除首尾空格,输出规整的文本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:27:31