I am trying to remove the character ' from my string by doing the following

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

This gives me the error AttributeError: 'list' object has no attribute 'replace'

Coming from a php background I am unsure what the correct way to do this is?

2

3 Answers

xpath method returns a list, you need to iterate items.

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

This code is returning list not a string.Replace function will not work on list.

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

This worked for me:

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

This error is caused because the xpath returns in a list. Lists don't have the replace attribute. So by putting str before it, you convert it to a string which the code can handle. I hope this helped!

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy