J'essaie de supprimer le caractère "de ma chaîne en procédant comme suit
kickoff = tree.xpath('//*[@id="page"]/div[1]/div/main/div/article/div/div[1]/section[2]/p[1]/b[1]/text()')
kickoff = kickoff.replace("'", "")
Cela me donne l'erreur AttributeError: l'objet 'list' n'a pas d'attribut 'replace'
Venant d'un arrière-plan php, je ne sais pas quelle est la bonne façon de procéder?
xpath
la méthode retourne une liste, vous devez itérer les éléments.
kickoff = [item.replace("'", "") for item in kickoff]
kickoff = tree.xpath('//*[@id="page"]/div[1]/div/main/div/article/div/div[1]/section[2]/p[1]/b[1]/text()')
Ce code renvoie la liste et non une chaîne. La fonction de remplacement ne fonctionnera pas sur la liste.
[i.replace("'", "") for i in kickoff ]
Cela a fonctionné pour moi:
kickoff = str(tree.xpath('//*[@id="page"]/div[1]/div/main/div/article/div/div[1]/section[2]/p[1]/b[1]/text()'))
kickoff = kickoff.replace("'", "")
Cette erreur est due au fait que le xpath retourne dans une liste. Les listes n'ont pas l'attribut replace. Donc, en plaçant str avant, vous le convertissez en une chaîne que le code peut gérer. J'espère que cela a aidé!