我正在尝试使用re.sub
将文本转换为时间来清理字符串。我的初始字符串是"Durée : 1h30"
,我想删除"Durée : "
并获取此输出:"1h30"
. 但是我目前的代码,输出字符串此列表:["D", "u", "r", "é", "e", " ", ":", " ", "1", "h", "3", "0"]
。
for href in response.xpath("//div[@class='item']/a[@class='roll-2']//@href"):
url = "https://www.louvre.fr" + href.extract()
yield scrapy.Request(url, callback=self.parse_dir_contents)
lenght = response.xpath("//tbody/tr/td/text()").extract()[1] #lenght = "Durée : 1h30"
item['lenght'] = [re.sub("Durée : ", "", le) for le in lenght]
字符串在 Python 中是可迭代的,您在列表推导式中迭代每个字符并re.sub
分别在这些字符中运行。
此外,您在这里不需要正则表达式。使用str.replace
:
item['length'] = [length.replace('Durée : ', '')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句