AttributeError: ‘list’ object heeft geen attribuut ‘replace’ bij het verwijderen van karakter

Ik probeer het teken ‘ uit mijn string te verwijderen door het volgende te doen

kickoff = tree.xpath('//*[@id="page"]/div[1]/div/main/div/article/div/div[1]/section[2]/p[1]/b[1]/text()')
kickoff = kickoff.replace("'", "")

Dit geeft me de fout AttributeError: ‘list’ object has no attribuut ‘replace’

Vanuit een php-achtergrond weet ik niet wat de juiste manier is om dit te doen?


Antwoord 1, autoriteit 100%

xpathmethode retourneert een lijst, moet u items herhalen.

kickoff = [item.replace("'", "") for item in kickoff]

Antwoord 2, autoriteit 18%

kickoff = tree.xpath('//*[@id="page"]/div[1]/div/main/div/article/div/div[1]/section[2]/p[1]/b[1]/text()')

Deze code geeft een lijst terug, geen tekenreeks. De functie Vervangen werkt niet op de lijst.

[i.replace("'", "") for i in kickoff ]

Antwoord 3, autoriteit 14%

Dit werkte voor mij:

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("'", "")

Deze fout wordt veroorzaakt doordat de xpath terugkeert in een lijst. Lijsten hebben niet het kenmerk Replace. Dus door str ervoor te zetten, converteer je het naar een string die de code aankan. Ik hoop dat dit heeft geholpen!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes