如何用python将多行unicode字符串前的u移除?

例如我有以下的数据需要处理

[u'123']
[u'abc']
[u'bla']

我想要把他输出为:

'123'
'abc'
'bla'

搜索了一下发现如果数据只有一行比如,a = [u'123']我想要把它输出为'123',只要一行代码''.join(a)就可以了,但是如果数据为多行

a = """
[u'123']
[u'abc']
[u'bla']
"""
for line in a:
    ``.join(line)

<pre><code>输出为:
</code></pre>

'\n'
'['
'u'
"'"
'1'
'2'
'3'
"'"
']'
'\n'
'['
'u'
"'"
'a'
'b'
'c'
"'"
']'
'\n'
'['
'u'
"'"
'b'
'l'
'a'
"'"
']'
'\n'

这是为什么呢?对于多行的数据如何处理?

阅读 7.4k
3 个回答

要知道triple string就是string,由许多characters组合而成,比如[u'123']在a里已经没有列表的含义了,就是“[”, “u”, “'”, “1”, “2”, “3”, “'”, “]”这些字符的组合

你的a是个字符串 不是列表
先把

a = [
    [u'123'],
    [u'abc'],
    [u'bla'],
    ]

以上才是二维list

a = """
    [u'123']
    [u'abc']
    [u'bla']
    """

b = a.split("\n")[1:-1]
for l in b:
    print print l[2:-1]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题