AttributeError:'list'对象在尝试删除字符时没有属性'replace'

时间:2016-04-15 09:03:33

标签: python string list

我试图通过执行以下操作从我的字符串中删除字符

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

这给了我错误AttributeError:'list'对象没有属性'replace'

来自php背景我不确定这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:9)

xpath方法返回一个列表,你需要迭代项目。

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

答案 1 :(得分:2)

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

此代码返回的列表不是string.Replace函数在列表中不起作用。

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

答案 2 :(得分:0)

这对我有用:

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

由于xpath在列表中返回而导致此错误。列表不具有replace属性。因此,通过将str放在前面,可以将其转换为代码可以处理的字符串。希望对您有所帮助!