我有this这样的文字。我希望按New Line
和Colons
进行拆分。现在我正在按New Lines
拆分。我正在使用此代码。
`data= data.split('\n')
及其给予strange output。你能帮忙吗?感谢
答案 0 :(得分:8)
\ t是标签。要稍微清理一下,试试这个:
data = [line.strip().split(':') for line in data.split('\n') if line.strip()]
它将删除空行并删除空格
答案 1 :(得分:7)
它正在做你正在问的问题,但它充满了标签。通过strip()
:
lines = data.split('\n')
lines = [line.strip() for line in lines]
你应该看到更像你期待的东西。
那仍然会留下一些空白,所以也许你也想剥掉那些:
lines = filter(None, lines)
答案 2 :(得分:3)
你的输出有多奇怪?我的意思是,有很多表格\t
和白色空格,但你能解释一下哪些不适合你的需要吗?
也许你可以先.strip()
行:这会删除空格。
答案 3 :(得分:0)
str.split()方法只接受一个分割器。这样就无法在冒号或换行符上进行拆分。您可以通过以下方式克服此限制:
data = data.replace(':', '\n').split('\n') # split on newlines and colons
您还可以尝试使用re.split()函数进行更精细的分割控制:
>>> import re
>>> s = 'abc:def\nghi'
>>> re.split(r'\:|\n', s)
['abc', 'def', 'ghi']
答案 4 :(得分:0)
这应该可以解决问题
data = list(
line.strip().split(":") for line in data.split("\n")
)
data = filter(None, data)
编辑:西蒙的答案会产生相同的结果,而作为一个更清洁的"溶液
data = list(
line.strip().split(":") for line in data.split("\n") if line.strip()
)