2014-03-19 70 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.