Python .split()没有'你

时间:2013-02-02 16:58:34

标签: python unicode-string

在Python中,如果我有一个字符串:

a =" Hello - to - everybody"

我做了

a.split('-')

然后我得到

[u'Hello', u'to', u'everybody']

这只是一个例子。

如何在没有烦人的情况下获得一个简单的列表?'

1 个答案:

答案 0 :(得分:19)

u表示它是一个unicode字符串 - 您的原始字符串也必须是一个unicode字符串。通常,保持字符串Unicode是一个好主意,因为尝试转换为普通字符串可能会因为没有等效字符而失败。

u纯粹用于让你知道它是表示中的unicode字符串 - 它不会影响字符串本身。

通常,unicode字符串与普通字符串完全一样,因此将它们保留为unicode字符串应该没有问题。

在Python 3.x中,unicode字符串是默认值,并且没有u前置(相反,bytes(相当于旧字符串)前置b )。

如果您真的真的需要转换为普通字符串(很少情况,但如果您使用的是不支持的扩展库,则可能会出现问题例如,unicode字符串),请查看unicode.encode()unicode.decode()。您可以在拆分前执行此操作,也可以在拆分后使用list comprehension

执行此操作