用unicode代码替换文件中的特殊字符(Python)

时间:2015-08-13 14:57:10

标签: python file unicode replace special-characters

我有一个有趣的问题。假设在unicode中有一个具有匹配表示的字符列表:

list_of_special_chars = [
    ('Ą', b'\u0104'),
    ('ą', b'\u0105'),
    ('Ę', b'\u0118'),
    ('ę', b'\u0119'),
    ('Ó', b'\xd3'),
    ('ó', b'\xf3'),
    ('Ć', b'\u0106'),
    ('ć', b'\u0107'),
    ('Ł', b'\u0141'),
    ('ł', b'\u0142'),
    ('Ń', b'\u0143'),
    ('ń', b'\u0144'),
    ('Ś', b'\u015a'),
    ('ś', b'\u015b'),
    ('Ź', b'\u0179'),
    ('ź', b'\u017a'),
    ('Ż', b'\u017b'),
    ('ż', b'\u017c')
]

现在,请考虑使用以下短语生成一个文本文件:Cześć,jaksięmasz?

如何将文本替换为文件,以创建一个如下所示的新文件: Cze \ u015b \ u0107,jak si \ u0119 masz?

我尝试了不同的方法,但我无法解决python处理字符串的方式这类问题。例如,"Czesć".replace("ć", "\u0107")始终是同一个单词。

1 个答案:

答案 0 :(得分:2)

您需要转义反斜杠,以便\u不被视为Python转义序列的开头。

"Czesć".replace("ć", "\\u0107")