Python3

[Python]スクレイピングで取得した文字列から特定文字を削除or置き換える

Pythonでスクレイピングのスクリプトを書いて実行すると結果に思わぬ文字列が入ることがあります。

こうしたケースでの特定文字の削除や、それ以外にも取得した特定文字列を別のものに置き換えたい時の対処方法を紹介します。

replaceメソッドで特定文字を置換する

例えば、スクレイピングをしている時にしばしば見かけるのが取得した文字列に\u3000という文字が入っているパターン。これは全角空白がある時に表示されるのですが、これを削除する時には以下のようなコードになります。

str = "abc\u3000defg"
str.replace('\u3000', '')
> abcdefg

replaceメソッドを使って第一引数に特定文字列を指定します。そして、第二引数に置換した文字列を入れます。今回は削除したいので第二引数は空にしています。

 

結果として削除したように見えるわけですが、実際は置換していますね。

では次に\u3000をxxxという文字列に置き換えます。

str = "abc\u3000defg"
str.replace('\u3000', 'xxx')
> abcxxxdefg

もうお分かりと思いますが、第二引数に置換したい文字列を入れます。

-Python3

© 2020 Code Ocean