私は次のようにして文字列から文字を削除しようとしています
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のバックグラウンドから来て、これを行う正しい方法は何ですか?
xpath
メソッドはリストを返します。アイテムを繰り返す必要があります。
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()')
このコードは、文字列ではなくリストを返します。置換関数はリストでは機能しません。
[i.replace("'", "") for i in kickoff ]
これは私のために働いた:
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をその前に置くことにより、コードが処理できる文字列に変換します。これがお役に立てば幸いです!