我对我有一个真正的基本问题,但是对于我的生命,我无法弄清楚。
我正在浏览很多文本,并转换为国际语音字母。我经常使用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"))