Python从unicode列表中删除选项卡和托架行

eam*_*234 0 python unicode str-replace

我已经看过以前对此的答案(python如何从字符串或列表中删除此n,从列表删除列表项,python删除字符串中的空格)但无法使解决方案起作用.

我有一个包含单个元素的列表,如下所示:

list = [u'\r\n\r\n\r\n            \r\n                \r\n                    \r\n                    123 Main St., Peoria\r\n                \r\n\r\n            \r\n             |\r\n             \r\n                    \r\n                        \r\n                            \r\n                            123-456-789\r\n                        \r\n                    \r\n            \r\n        ']
Run Code Online (Sandbox Code Playgroud)

它有一个地址和一个电话号码,我想要的只是返回的是:

123 Main St., Peoria;123-456-789
Run Code Online (Sandbox Code Playgroud)

我试过像这样的东西:

str(list).strip(' \r\n\t')
Run Code Online (Sandbox Code Playgroud)

str(list).replace('\r','')
Run Code Online (Sandbox Code Playgroud)

但它们不起作用,所以我想也许这是一个unicode问题?我该如何解决这个问题?

Mar*_*ers 5

只需从列表中取出一个元素并替换在那里:

print lst[0].replace('\r', '').replace('\n', '')
Run Code Online (Sandbox Code Playgroud)

无需在此处将列表本身转换为字符串.

在这种情况下,您还可以unicode.strip与a 组合以.splitlines()从每行中删除空格,然后重新加入:

print u' '.join([l.strip() for l in lst[0].splitlines() if l.strip()])
Run Code Online (Sandbox Code Playgroud)

这打印:

123 Main St., Peoria | 123-456-789
Run Code Online (Sandbox Code Playgroud)