Python re.sub() and unicode



我对我有一个真正的基本问题,但是对于我的生命,我无法弄清楚。

我正在浏览很多文本,并转换为国际语音字母。我经常使用re.sub((方法,在许多情况下,这意味着用Unicode类型的字符类型代替字符串类型。例如:

for row in responsesIPA:
  re.sub("3", u"u0259", row)

我正在获得TypeError:预期字符串或缓冲区。Python上的文档说,替换的类型必须与您要搜索的内容相匹配,所以也许这就是问题所在?我尝试在u" u0259"周围放置str((,但是我仍会遇到类型错误。我有办法做这个替代吗?

您遇到的错误是告诉您"行"不是有效的字符串或缓冲区(str,bytes,unicode,任何可读的内容(,您将需要仔细检查 low 中存储的内容,通过在前面添加print(row)

只是为了证明这种情况,这样做将有效:

import re
print(re.sub("3", u"u0259", "12345"))

最新更新