2011-12-01 48 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