【发布时间】:2023-03-25 17:42:01
【问题描述】:
我得到了以下名为“电话号码”的列表。我努力删除包含 '\n\t\t\t' 和 '\n\t\t\t\t' 的元素。 我尝试了“try and except”-methode 和 remove('\n\t\t\t\t') 但无法使其工作。 有什么建议吗?
['(02271) 6 79', '70', '\n\t\t\t', '(02271) 6 79', '\n\t\t\t\t', '70 ', '\n\t\t\t', '\n\t\t\t', '(02181) 27 0', '\n\t\t\t\t', '3-0' , '\n\t\t\t', '\n\t\t\t', '(02181) 27 0', '\n\t\t\t\t', '3-0', '\n\t\t\t', '\n\t\t\t', '(02161) 24 19', '\n\t\t\t\t', '40', '\n \t\t\t', '\n\t\t\t', '(02161) 24 19', '\n\t\t\t\t', '40', '\n\t\ t\t', '\n\t\t\t', '(02131) 66 67', '\n\t\t\t\t', '10', '\n\t\t\t ', '\n\t\t\t', '(02131) 66 67', '\n\t\t\t\t', '10', '\n\t\t\t', ' \n\t\t\t', '(02103) 39 00', '\n\t\t\t\t', '93', '\n\t\t\t', '\n\ t\t\t', '(02103) 39 00', '\n\t\t\t\t', '93', '\n\t\t\t', '\n\t\t \t', '(02173) 2 04 7', '\n\t\t\t\t', '3-0', '\n\t\t\t', '\n\t\t \t', '(02173) 2 04 7', '\n\t\t\t\t', '3-0', '\n\t\t\t', '\n\t\t \t', '(02235) 9 23 04', '\n\t\t\t\t', '30', '\n\t\t\t', '\n\t\t\t ', '(02235) 9 23 04', '\n\t\t\t\t', '30', '\n\t\t\t', '\n\t\t\t', '\n\t\t\t\t', '(0221) 3 46 79 40', '\n\t\t\t', '\n\t\t\t', '\n\t \t\t\t', '(0221) 3 46 79 40', '\n\t\t\t', '\n\t\t\t', '(02232) 4 23', '\ n\t\t\t\t', ' 05 ', '\n\t\t\t', '\n\t\t\t', '(02232) 4 23', '\n\t\t\t\t', '05', ' \n\t\t\t', '\n\t\t\t', '(0157) 86 85 74', '\n\t\t\t\t', '43', '\n \t\t\t', '\n\t\t\t', '(0157) 86 85 74', '\n\t\t\t\t', '43', '\n\t \t\t', '\n\t\t\t', '(02181) 2 78 11', '\n\t\t\t\t', '47', '\n\t\t \t', '\n\t\t\t', '(02181) 2 78 11', '\n\t\t\t\t', '47', '\n\t\t\t ', '\n\t\t\t', '(02181) 47 49 0', '\n\t\t\t\t', '0-0', '\n\t\t\t ', '\n\t\t\t', '(02181) 47 49 0', '\n\t\t\t\t', '0-0', '\n\t\t\t ', '\n\t\t\t', '(02202) 1 88', '\n\t\t\t\t', '60', '\n\t\t\t', ' \n\t\t\t', '(02202) 1 88', '\n\t\t\t\t', '60', '\n\t\t\t', '\n\ t\t\t', '(0211) 23 80', '\n\t\t\t\t', '70', '\n\t\t\t', '\n\t\t \t', '(0211) 23 80', '\n\t\t\t\t', '70', '\n\t\t\t', '\n\t\t\t' , '(02235) 9 23 0', '\n\t\t\t\t', '4-0', '\n\t\t\t', '\n\t\t\t' , '(02235) 9 23 0', '\n\t\t\t\t', '4-0', '\n\t\t\t']
【问题讨论】:
-
发布您尝试过的内容,有人可能会帮助您解决问题。
-
也许你应该修改生成列表的代码而不是删除项目,而不是首先插入它们。这个列表是如何生成的?
-
@Bryan Oakley 首先使用 Qt 渲染页面,然后使用 lxml 通过 tree.xpath 提取列表: phonenumbers = tree.xpath('//span[@class="text nummer_ganz "]//text()') -- 网址是:gelbeseiten.de/schluesselfertigbau/bergheim,,,,,umkreis-50000/…
-
str.strip()将删除所有'\n\t\t\t\t',因此您可以使用[e for e in ur_lst if e.strip()]过滤掉所有空白元素。不需要正则表达式。 -
@dawg:很好,尽管我什至会使用
lst = [number for item in lst for number in [item.strip()] if number]将项目剥离到结果列表中。已在下面更新了我的答案。