所以我有这样的事情:
x = "CЕМЬ"
x[:len(x)-1]
这是从字符串中删除最后一个字符。但是它不起作用,它给了我一个错误。我想这是因为它是Unicode。那么如何对非 ansi 字符串进行这种简单的格式化。
所以我有这样的事情:
x = "CЕМЬ"
x[:len(x)-1]
这是从字符串中删除最后一个字符。但是它不起作用,它给了我一个错误。我想这是因为它是Unicode。那么如何对非 ansi 字符串进行这种简单的格式化。
那是因为在 Python 2.x中,字节串"CЕМЬ"
是一种奇怪的写法。b'C\xd0\x95\xd0\x9c\xd0\xac'
你想要一个字符串。在 Python 2.x 中,字符串以 为前缀u
:
x = u"CЕМЬ"
x[:-1] # Returns u"CЕМ" (len(x) is implicit for negative values)
如果您在程序中编写此代码(而不是交互式 shell),您将需要指定源代码编码。为此,只需将以下行添加到文件的开头,其中utf-8
匹配您的文件编码:
# -*- coding: utf-8 -*-
utf-8
使用编码保存文件:
# -*- coding: utf-8 -*-
x = u'CЕМЬ'
print x[:-1] #prints CЕМ
x = u'some string'
x2 = x[:-1]