プロが教えるわが家の防犯対策術!

テキストの表記整理で漢数字を「全角」算用数字に一括変換しました。タテで組版をおこなう都合上、2ケタの数字だけ「半角」算用数字に変換したいのですが、一括でおこなう方法をご存知でしたらお教えください。
ちなみに今はJedit2.27で作業をしていますが、他のアプリケーションでかまいません。できればフリーがよいですがシェアでも。時間がかかって難儀しています。
どうぞよろしくお願いします。

A 回答 (3件)

OS9ならばDTP等での文字の統一作業に特化した「TOOK Editor」を使えば一発です。


OSXならば、「mi」用の「TEXT整形モード」ファイルを利用する事で可能です。
http://hp.vector.co.jp/authors/VA023000/soft/too …
http://hp.vector.co.jp/authors/VA023000/soft/mi_ …
    • good
    • 0
この回答へのお礼

dezimacさん、ご回答ありがとうございました。miというのを今日はじめてためしていたところでした。OS10.5.8なのでバージョンがあわないのか、教えていただいた「TEXT整形モード」ファイルを利用すると激しい文字化けをおこしてしまいました。やり方が悪いのかもしれません。理想的なモードファイルなのに……。もう1回試してみます。

お礼日時:2011/02/24 17:34

失礼、さっきのだと3ケタ以上も引っかかっちゃいます。



×s/([0-9])([0-9])/$hash{$1}$hash{$2}/g;
○s/(?<![0-9])([0-9])([0-9])(?![0-9])/$hash{$1}$hash{$2}/g;

テストしてないので他にも間違いがあるかもしれません。
スミマセン。
    • good
    • 0
この回答へのお礼

TYWalkerさん
ご回答ありがとうございました。ちょっとためしてみます。

お礼日時:2011/02/24 14:12

手元にMacがないんですが、Mac OS XならばターミナルからPerlが使えるはずなので、下のプログラムが使えると思います。



下のスクリプトをファイルと同じ文字コードで保存します。

#! /bin/perl
# #! /bin/perl
# textChange.pl

$hash{'0'} = '0';
$hash{'1'} = '1';
$hash{'2'} = '2';
$hash{'3'} = '3';
$hash{'4'} = '4';
$hash{'5'} = '5';
$hash{'6'} = '6';
$hash{'7'} = '7';
$hash{'8'} = '8';
$hash{'9'} = '9';

while (<>) {
s/([0-9])([0-9])/$hash{$1}$hash{$2}/g;
}

で、ターミナルから、以下のコマンドを使います。

% textChange.pl < 入力ファイル名 > 出力ファイル名

Perlをターミナルから使えるようになると、いろんなテキスト処理が簡単に出来るようになるので便利だと思います。
まったくの無料ですし・・・。

Jeditの正規表現を使ってもっとエレガントに出来るかもしれませんし、JeditでC言語っぽいマクロを使えるようなので、それを使えばもっとカンタンにできるかもしれませんが、一応書き込みました。

Jeditのマクロについては、以下のページを参考に出来ると思います。

http://d.hatena.ne.jp/tanakahisateru/20080925/12 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!