2011-12-01 76 views
1

例子:分割和非拉丁字母字符串在Python 2.X

# -*- coding: utf-8 -*- 
my_str = u'Строка^с^разделителями!' # Russian letters 
print my_str.replace(' ', '') 
print my_str.replace(' ', '').split('^') 

結果:

Строка^с^разделителями! 
[u'\u0421\u0442\u0440\u043e\u043a\u0430 ', u' \u0441 ', u' \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f\u043c\u0438!'] 

請幫助。如何在分割後顯示「正常」字符串?

P.S. 文件腳本編碼是UTF8

+1

主西里爾語塊是0x400-0x4ff。打印列表打印項目的'repr',對於'unicode'對象顯示非ASCII代碼的代碼點形式(即'\ u ####')。 – eryksun

回答

4

這些正常的字符串,你只看到其內部表示(因爲你沒有打印字符串,你打印在第二個例子中的列表)。做

for s in my_str.replace(' ', '').split('^'): 
    print s 

你會看到。相反,嘗試

print repr(my_str.replace(' ', '')) 

然後看看會發生什麼。

+0

它的工作原理!謝謝!!! – SkyFox