2017-01-16 360 views
0

我有一个非常大的工作项目(使用Java),编码在迁移到UTF-8后发生了变化。 我编码在python更换每一个“Unicode替换字符”脚本(),但我无法做这行:Python - 将字符串与Unicode替换字符进行比较

if ("�" in word) : 
    // replace word for proper one 

显然,这并不工作,因为Python解释器不了解特殊性格。我查了一下,发现了一些类似于“\ uFFD”的东西,但无法使其工作。

编辑:我试图做它在Python IDLE壳出现 enter image description here

+1

你是什么意思? Python 3对字符串使用unicode,并且可以检测字符串中是否存在“ ”。 – Tagc

+0

什么不起作用?在单词中查找字符?或者更换步骤? – doctorlove

+0

如果控制台不知道如何显示一些字符,你可以在控制台上看到'' “',但这并不意味着你在Python中的文本中有'' ”'。 – furas

回答

0

此消息,如果我误解了你的问题,我会删除这个答案,但在Python 3(和进一步测试Python 2中也是),你可以处理Unicode字符,如 “” 就像任何其他的字符:

def replace_special_characters(sentence): 
    return sentence.replace("�", "REPLACEMENT") 

sentence_a = "foo bar" 
sentence_b = "baz �" 

print(replace_special_characters(sentence_a)) 
print(replace_special_characters(sentence_b)) 

输出

foo bar 
baz REPLACEMENT 
+0

在Python 2中工作我认为。至少在我的Linux机器上运行2.7.10,它的工作原理 – MooingRawr

+0

@MooingRawr是的,刚刚在Python 2.7.10 IDLE shell中测试了它,它工作正常,虽然我第一次运行它,但提出了一个警告,顶部的“utf-8”声明。 – Tagc

+0

@Tagc我尝试在Python IDLE shell中执行此操作,此消息出现img.ctrlv.in/img/17/01/16/587cfb8b91399.png – Franch

相关问题