我一直在阅读文件,我很难摆脱“\ t”
我已尝试使用i.strip().split("\t")[1]
并将其附加到列表中。但如果连续多个标签,它不是非常有用
例如:
如果我做我所描述的我得到的
z=['\t\t\t\twoman-in-lingerie', 'newspaper-photo', 'reference-to-marie-antoinette', '\tempty-grave', '\t\t\tbased-on-play', '\t\t\tcanadian-humor', '\t\t\tsitcom', 'hypocrisy', 'stripper']
现在我不知道如何删除这些标签,我一直试图通过列表并自行更改每个元素它是不成功的
答案 0 :(得分:2)
如果您不想要任何标签,可以在阅读完所有内容后使用filter
:
for item in my_list:
item = item.filter(lambda x: x != '\t', item)
答案 1 :(得分:2)
如果您只是想删除标签,可以使用此列表理解:
l2 = [item.strip('\t') for item in l1]
这将消除每个元素上的任何前导或尾随标签。
答案 2 :(得分:0)
您可以做的最好的事情是使用replace
函数,将标签('\ t')替换为空字符串(''):
>>> z = ['\t\t\t\twoman-in-lingerie', '\t\t\tsitcom']
>>> map(lambda x: x.replace('\t',''), z)
['woman-in-lingerie', 'sitcom']
答案 3 :(得分:0)
这可能会给你一个想法:
>>> import re
>>> re.sub('\t+','\t', 'hello\t\t\t')
'hello\t'
>>>
答案 4 :(得分:0)
z = '''\t\t\t\twoman-in-lingerie
newspaper-photo\t\t\t\t reference-to-marie-antoinette
\tempty-grave
\t\t\tbased-on-play
\t\t\tcanadian-humor\t\t\t
\t\t\tsitcom
hypocrisy\t\t\t\t\tstripper'''
import re
def displ(x):
return '\n'.join(map(repr,x.splitlines(True)))
print displ(z)
print '-------------------------------'
zt = re.sub('\t+',' ',z)
print displ(zt)
print '-------------------------------'
zt = re.sub('(^\t+)|(\t+)',
lambda mat: '' if mat.group(1) else ' ',
z,
flags = re.MULTILINE)
print displ(zt)
print '-------------------------------'
zt = re.sub('(^[ \t]+)|([ \t]+)',
lambda mat: '' if mat.group(1) else ' ',
z,
flags = re.MULTILINE)
print displ(zt)
结果
'\t\t\t\twoman-in-lingerie\n'
'newspaper-photo\t\t\t\t reference-to-marie-antoinette\n'
'\tempty-grave\n'
'\t\t\tbased-on-play\n'
'\t\t\tcanadian-humor\t\t\t\n'
'\t\t\tsitcom\n'
'hypocrisy\t\t\t\t\tstripper'
-------------------------------
' woman-in-lingerie\n'
'newspaper-photo reference-to-marie-antoinette\n'
' empty-grave\n'
' based-on-play\n'
' canadian-humor \n'
' sitcom\n'
'hypocrisy stripper'
-------------------------------
'woman-in-lingerie\n'
'newspaper-photo reference-to-marie-antoinette\n'
'empty-grave\n'
'based-on-play\n'
'canadian-humor \n'
'sitcom\n'
'hypocrisy stripper'
-------------------------------
'woman-in-lingerie\n'
'newspaper-photo reference-to-marie-antoinette\n'
'empty-grave\n'
'based-on-play\n'
'canadian-humor \n'
'sitcom\n'
'hypocrisy stripper'
我使用函数 displ()以显示转义字符的方式显示