半角の円マーク(¥)を文字列変換で消そうとしたら非常に困ったけど対策が簡単だった【Python】

データ操作

Pythonに限る話でもないとは思いますが、特定の文字列の扱いには困りますよね。

今回は半角の円マークに困ったので、その解決策を共有します。

事象

「半角の円マークなんてバックスラッシュと変わらないだろ」と思ったそこのアナタ、鋭いですが間違っています。
バックスラッシュ(もちろんエスケープ込み)で変換してもダメだったのです。

つまり、こんな感じのコードで半角円マークは消えなかったのです。

strings.replace('\\', '')

解決策

さて困ったな・・・と思いましたが、答えは簡単でした。

strings.replace('\xA5', '')

このように、文字列リテラルで指示したところ、秒で解決しました。
ただし、文字コードによっては、違う指示をしないとうまくいかない(と思う)ので要注意です。

文字列リテラルを説明するのは若干難しいですが、簡単にいえば「文字を表す文字列」です。

例えば、吉野家の「吉」(いわゆる、つちよし)であれば、\U00020BB7と表現されます。
※都合上、ここでは普通の「吉」と記載しています。

難しい漢字や記号ほど、こういった小技やテクニックが必要になるので、ぜひ覚えておきたいですね。

以上です。

スポンサーリンク