2010-09-09 26 views
1

我使用正則表達式捕獲來自HTML源文件中的字符串:如何在Python中將u'\ u4f60 \ u4f60'這樣的unicode字符串轉換爲u' u4f60 u4f60'?

f = open(rrfile, 'r') 
p = re.compile(r'"name":"([^"]+)","head":"([^"]+)"') 
match = re.findall(p, f.read()) 

我已經試過:

>>> u'\\u4f60\\u4f60'.replace('\\u', '\u') 
u'\\u4f60\\u4f60' 
>>> u'\\u4f60\\u4f60'.replace(u'\\u', '\u') 
u'\\u4f60\\u4f60' 
>>> u'\\u4f60\\u4f60'.replace('\\u', u'\u') 
File "<stdin>", line 1 
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: end of string in escape sequence 

莫非是由str.replace()來完成?還是需要更復雜的東西?

+0

可能重複[Python的文件輸入字符串:?如何處理轉義Unicode字符(http://stackoverflow.com/questions/2811174/python-file-input-string-how-to-handle- escape-unicode-characters) – kennytm 2010-09-09 13:58:39

回答

6
>>> u'\\u4f60\\u4f60'.decode('unicode_escape') 
u'\u4f60\u4f60' 
+0

+1你每天都會學到新的東西! – katrielalex 2010-09-09 14:00:01

+0

謝謝你的快速和有用的答案。 – kols 2010-09-09 14:04:46

相關問題