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
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具