最近python始めた。
チャットbot作る教材使って勉強してたんだけど。
発言するデータの入ってるファイルを読み込むとき、何か挙動がおかしかった。
改行コード「¥(円マーク)n」を消す処理がうまくいってなかった。
「¥(円マーク)n」と「\(バックスラッシュ)n」は違う
どうやら、macOSは「¥(円マーク)n」と「\(バックスラッシュ)n」を区別するらしく。。。
動作確認してみたら、ほかの文字はしっかり消せるのに、「¥(円マーク)n」だけはダメだった。
macOSでは「option+¥(円マーク)」で、「\(バックスラッシュ)」を明示的に入力できる。
pythonだけなのかと思って、試してみたら、javaでも同様の現象が起きた。
class ntest {public static void main(String args[]) {String test1 = "abc¥nefg";String test2 = "abc\nefg";System.out.println(test1);System.out.println(test2);}}
↓出力結果
abc¥nefg
abc
efg
試してないけど、ほかの言語でもおんなじだと思う。
windowsでは起きない。
macOSでは「¥(円マーク)」はエスケープシーケンスとして認識しないらしい。
これから気をつけようと思った。