á没有被替换但是í呢?

时间:2014-02-04 01:03:03

标签: python python-2.7

我正在尝试将á替换为a,其中包含以下内容:

i.string.replace_with(i.string.replace(u'\xc3', 'a'))

但它并没有取代任何东西。但是,如果我使用

i.string.replace_with(i.string.replace(u'\xed', 'i'))

它会将í替换为i

为什么á没有被替换,í是?当我打开/保存文件时,我没有指定使用哪种编码。这是我的问题的原因(这是我怎么能取代í但不是á然后)?

我是python的新手,我还在学习。

2 个答案:

答案 0 :(得分:1)

您需要使用一些编码,您可以像这样打开文件;

import re, codecs

with codecs.open("filename", 'r', 'utf-8') as f:
    for line in f:
        print line 

 f.close()

它会以u'flag返回标记。也可能需要使用latin-1编码,编码('latin-1');

    import re, codecs

    with codecs.open("filename", encoding="latin-1") as f:
        for line in f:
            print line 

    f.close()

答案 1 :(得分:1)

我认为问题出在您正在寻找的代码中。在unicode中á似乎是\xE1而不是\xC3

试一试,让我知道是否有效。

你可以使用像这样的转换器检查一些其他符号: http://rishida.net/tools/conversion/