0

我在这里使用 Python 2.7(非常相关)。假设我有一个包含“em”破折号“—”的字符串。这不是用 ASCII 编码的。因此,当我的 Django 应用程序处理它时,它会抱怨。很多。我想用 unicode 等价物替换一些这样的字符以进行字符串标记化,并与拼写检查 API(PyEnchant,它认为非 ASCII 撇号是拼写错误)一起使用,例如使用较短的“-”破折号而不是 em短跑。这就是我正在做的事情:

s = unicode(s).replace(u'\u2014', '-').replace(u'\u2018', "'").replace(u'\u2019', "'").replace(u'\u201c', '"').replace(u'\u201d', '"')

不幸的是,这实际上并没有替换任何 unicode 字符,我不知道为什么。我现在真的没有时间升级到 Python 3,从页面顶部的未来导入 unicode_literals或在那里设置编码不允许我在代码中放置实际的 unicode 文字,因为它应该,我试过了使用 encode() 和 decode() 的无穷技巧。任何人都可以在 Python 2.7 中给我一个简单的、故障安全的方法吗?

4

1 回答 1

0

哦,男孩……虚惊一场,在这里!它确实有效,但我输入了一些不正确的字符代码。我将保留这个问题,因为该代码似乎是唯一能让我在这个环境中完成这个特定任务的东西。

于 2018-01-23T15:48:38.287 回答