欢迎来到魔幻小生的博客

python检测字符串中是否有生僻字

最近工作中遇到远古老版本产品中生僻字会显示乱码问题,需要实现检测字段是否包含生僻字以及一些非法字符如 ~!@#$%^&*

首先使用 python 匹配非法字符,可以用 re 函数库实现。

pattern = re.compile(r"[~!@#$%^&* ]")

常见生僻字 翀珪屌囧

对于生僻字的定义,经询问同事应该是非 GB2312 的汉字为生僻字,只需要匹配 GB2312 字符。

可以使用 unicode_string.encode('GB2312') 转换字符串,如果抛出 UnicodeEncodeError 异常则有生僻字。

完整代码如下:

def is_rare_name(str):

    pattern = re.compile(r"[~!@#$%^&* ]")
    match = pattern.search(str)
    if match:
        print(match.group())
        return True
    try:
        str.encode("gb2312")
    except UnicodeEncodeError:
        return True
    return False
posted @   魔幻小生  阅读(356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示