在Python中,如果我有一个字符串,比如:
a =" Hello - to - everybody"
我做
a.split('-')
然后我得到
[u'Hello', u'to', u'everybody']
这只是一个例子。
我怎么能得到一个简单的列表而没有那个烦人的u??
u
表示它是一个unicode字符串-您的原始字符串也必须是unicode字符串。一般来说,保持字符串为Unicode是个好主意,因为尝试转换为普通字符串可能会因为没有等效字符而失败。
u
纯粹是用来让您知道它在表示中是一个unicode字符串,它不会影响字符串本身。
通常,unicode字符串的工作方式与普通字符串完全相同,因此将它们保留为unicode字符串应该没有问题。
在Python3.x中,unicode字符串是默认字符串,并且不以u
为前缀(相反,bytes
(相当于旧字符串)以b
为前缀)。
如果确实,确实需要转换为普通字符串(这种情况很少发生,但如果您使用的扩展库不支持unicode字符串,则可能会出现问题),请查看unicode.encode()
和unicode.decode()
。你可以在拆分之前这样做,也可以在拆分之后使用列表理解。
我有一个相反的问题。str '第一回u3000甄士隐梦幻识通灵 贾雨村风尘怀闺秀'
需要通过unicode字符进行拆分。但我犯了错误,并编写了导致unicode语法错误的split('u')
代码。
我应该对split('u3000')
进行编码