2014-03-19 68 views
0

我试图在python unicode字符串中替换撇号。在调试器,它看起来如下:在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)) 
+0

请出示您的代码:

由 '\' 使用正则表达式

# -*- 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 

输出这里有一个想法来代替你的 '\\'。 –

+0

你试过字符串.__ repr __() – Sar009

+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." 
0

我不知道你在这里实现了什么。你想用你的python脚本的字符串变量中的'\'替换'\\'吗?由于你的文字无效,所以我做了一些小改动。

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.