8

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

a =" Hello - to - everybody"

我愿意

a.split('-')

然后我得到

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

这只是一个例子。

我怎样才能得到一个没有那个烦人的简单列表?

4

1 回答 1

20

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

纯粹用于让您知道它是表示形式中的uunicode 字符串 - 它不会影响字符串本身。

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

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

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

于 2013-02-02T17:00:07.630 回答