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

Python如何通过Unicode编码替换字符串中的指定字符

问题原因分析
  • Python的字符串属于不可变对象,遍历过程中拿到的每个charr都是独立的临时变量,修改该变量不会对原字符串产生任何影响,这是代码不生效的核心原因。
  • 逐字符判断替换的写法冗余,完全可以直接对完整字符串做全局替换。
  • 直接用Unicode编码指定替换字符更稳妥,可避免不同编辑器/环境下阿拉伯字符显示混淆导致的匹配失败。
正确实现代码

方案1:直接全局替换(无需归一化)

original = 'رزاﻗﻲ'
# 替换所有\u064A(ي)为\u06CC(ی)
result = original.replace('\u064A', '\u06CC')
print(result)

输出结果为预期的رزاقی。

方案2:先归一化再替换

如果业务需要先做NFKD归一化,调整写法如下即可:

import unicodedata as ud

original = 'رزاﻗﻲ'
normal_form = ud.normalize('NFKD', original)
# 对归一化后的完整字符串做替换
result = normal_form.replace('\u064A', '\u06CC')
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:27:04