用unicode替换撇号

时间:2014-03-19 13:17:21

标签: python python-2.7 unicode

我正在尝试用python unicode字符串替换撇号。在调试器中,它看起来如下:

u'Tu veux aller trop vite! Pour répondre à cette question, tu dois d\\'abord trouver le bon code.'

替换后,它应该\'而不是\\'。 当我试图替换撇号时,没有任何反应。我该怎么办?

以下显示加/减代码:

def convert(sheet, file):
    from xlrd import open_workbook
    from lxml import etree
    value = sheet.cell(1, 1).value
    #value = u'Tu veux aller trop vite! Pour répondre à cette question, tu dois d\\'abord trouver le bon code.'
    child = etree.Element('string', name=key.encode('utf-8'))
    child.text = value
    file.write(etree.tostring(root, encoding='utf-8', pretty_print=True))

2 个答案:

答案 0 :(得分:1)

你的文字无效,你转义反斜杠,但这样做无法逃脱单引号('),因此过早终止文字。试试这些,取决于你要实现的目标:

print u'Tu veux aller trop vite! Pour répondre à cette question, tu dois d\\\'abord trouver le bon code.'

print u"Tu veux aller trop vite! Pour répondre à cette question, tu dois d\\'abord trouver le bon code."

print u'Tu veux aller trop vite! Pour répondre à cette question, tu dois d\'abord trouver le bon code.'

print u"Tu veux aller trop vite! Pour répondre à cette question, tu dois d'abord trouver le bon code."

答案 1 :(得分:0)

我不确定你在这里取得了什么。你想更换' \\'通过' \'在你的python脚本的字符串变量?由于你的文字无效,我做了一个小小的改动。

这是一个替换你的' \\'通过' \'使用正则表达式

    # -*- coding: utf-8 -*-
    import re
    str= u"Tu veux aller trop vite! Pour répondre à cette question, du dois d\\'abord trouver le bon code."
    str2=re.sub(r'\\', "", str)
    print str
    print str2

输出:

Tu veux aller trop vite! Pour répondre à cette question, du dois d\'abord trouver le bon code.
Tu veux aller trop vite! Pour répondre à cette question, du dois d'abord trouver le bon code.
相关问题