テキストエディタで見ると半角スペースになっている所に
メモ帳で見ると、 半角の↑があります。
他にも変な空白文字が入っている様なのですが、これらがどれも
trやsed等では削除出来ませんでした。
複数ファイルを同時に処理したいです。
実データが無いので、想像で書きますが、UTF-8 か UTF-16 なテキストファイルで、
もしかすると、Microsoft 系のツールが吐き出した or それからコピペしたファイルじゃなかろうかと思います。
古は、空白の種類はふたつくらいしかなくて、ASCII の 0x20 か、EBCDIC の 0x40(だったかな)が空白。
Unicode ができて、空白の種類が増えました。そりゃあもう、たくさん。
よく見かけるというか、自分でもよく遭遇するのが UTF-16 の 0x00a0(UTF-8 だと 0xc2a0)。
その他にも、UTF-16 で 0x20xx なやつとか、サイズがない文字とか。
で、対処法ですが、まずは od コマンドのようなバイトを表示できるコマンドとかで、その「特殊な空白」の文字コードを特定してください。
ぼくの想像が当たっているなら、それはマルチバイトのはずなので、バイト単位でしか処理ができない tr コマンドは使えません。
sed なら使えることが多いです(sed と言っても、いろいろあるので)。
例えば、問題の空白が 0xc2a0 なのであれば、以下のような感じで ASCII の空白に置き換えることができます。
cat filename | sed -e 's/\\xc2\\a0/ /g' >newfile
使っているシェルで、エスケープの仕方とかが変わってくるはずです。
Windows 環境で GNU ツールを使ってるような感じでしょうか。
であれば、Python のスクリプトを書いてしまった方が、悩みどころは少ないかも、です。
これで、望みの結果が得られるなら、bash のスクリプトで、for で回せば、複数のファイルを処理することができます。
https://www.tipsfound.com/excel/04substitute
テキストを修正したい範囲をコピーして、
エクセルのセルに、貼り付けます。
エクセル SUBSTITUTE 関数を用いて、空白を置換して無くすとよいです。
SUBSTITUTE 関数」で半角スペースと全角スペースを空文字に置換して
削除できます。
例 セルB3のテキストから半角スペースと全角スペースを空文字に置換します。
=SUBSTITUTE(SUBSTITUTE(B3," ","")," ","")
空白を削除完了したら、コピーして、テキストファイルに貼り付けます。
実データが無いので、想像で書きますが、UTF-8 か UTF-16 なテキストファイルで、
もしかすると、Microsoft 系のツールが吐き出した or それからコピペしたファイルじゃなかろうかと思います。
古は、空白の種類はふたつくらいしかなくて、ASCII の 0x20 か、EBCDIC の 0x40(だったかな)が空白。
Unicode ができて、空白の種類が増えました。そりゃあもう、たくさん。
よく見かけるというか、自分でもよく遭遇するのが UTF-16 の 0x00a0(UTF-8 だと 0xc2a0)。
その他にも、UTF-16 で 0x20xx なやつとか、サイズがない文字とか。
で、対処法ですが、まずは od コマンドのようなバイトを表示できるコマンドとかで、その「特殊な空白」の文字コードを特定してください。
ぼくの想像が当たっているなら、それはマルチバイトのはずなので、バイト単位でしか処理ができない tr コマンドは使えません。
sed なら使えることが多いです(sed と言っても、いろいろあるので)。
例えば、問題の空白が 0xc2a0 なのであれば、以下のような感じで ASCII の空白に置き換えることができます。
cat filename | sed -e 's/\\xc2\\a0/ /g' >newfile
使っているシェルで、エスケープの仕方とかが変わってくるはずです。
Windows 環境で GNU ツールを使ってるような感じでしょうか。
であれば、Python のスクリプトを書いてしまった方が、悩みどころは少ないかも、です。
これで、望みの結果が得られるなら、bash のスクリプトで、for で回せば、複数のファイルを処理することができます。
自信はありませんが、この質問は“置換できない記号”に属します。
https://www.moug.net/learning/exkan/exkan005-4.html
置換機能でできない文字の置き換え
わたしの経験では、たとえば“紙copi”というエディターで、一部の
“タブ”を置換することが可能です。エクセル専用の特殊記号を、一旦
“紙copi”上で置換して、自由に編集してから、元に戻したりできます。
しかし、これをフェイスブックに貼り付けると、またもや別の機能に
変換されたりして、いったいどういう仕組みなのか、id:a-kuma3 さん
なら教えてくれそうですが、結局チンプンカンプンになりそうです。
そもそも一見整然としたエクセルも、部分的には手作りで加工されて
いるので、最終的に一括統合しようとしても、無理なのでしょう。
武田 邦彦教授は、ちかごろ“絡合”という造語を提唱しています。
https://www.youtube.com/watch?v=0JKnR-mXVYY(20210201 13:00)
コメント(1件)