秀丸エディターで修正No.09946
よーさん さん 22/08/23 20:07
 
秀丸エディターで、テキストデータ内の全ての日本語(漢字、ひらがな、カタカナ)を
削除するマクロを教えてもらいたいです。よろしくお願い致します。

[ ]
RE:09946 秀丸エディターで修正No.09947
おすぎ さん 22/08/24 08:34
 
よーさん
こんにちは。

秀丸ユーザのおすぎです。

日本語(全角文字)の削除は、[ -K]+ という正規表現を使って可能です。
・検索語: [ -K]+
・置換語: 

マクロにするのであれば、たとえば、次のとおりです。
 replaceallfast "[ -K]+", "", regular;


※ただし、K という字は機種依存性があるようです。出し方はパソコンによっ
て違うようです。私の場合は、こく と打って変換すれば出ました。

[ ]
RE:09947 秀丸エディターで修正No.09949
でるもんたいいじま さん 22/08/24 21:11
 
でるもんた・いいじまです。

おすぎさん:
> 日本語(全角文字)の削除は、[ -K]+ という正規表現を使って可能です。
> ・検索語: [ -K]+
> ・置換語: 

「K」を直接書くのは、個人的にはおすすめしません。
色々ややこしい話がありますので。

なので個人的には、下記の置換をおすすめします。
> ・検索語: [\x81\x40-\xFC\xFC]+
> ・置換語: (空欄)

「正規表現」のチェック欄にチェックを必ず入れてください。
(最初におすぎさんが提示してくださったパターンでも同様です。)

☆ ☆ ☆

ついでに、もし半角カタカナも含まれるのであれば、

> ・検索語: [\xA0-\xDF\x81\x40-\xFC\xFC]+
> ・置換語: (空欄)

でいけます。

☆ ☆ ☆

マクロにする場合、

setcompatiblemode 0x20000;
replaceallfast @"[\xA0-\xDF\x81\x40-\xFC\xFC]+", "", regular;

のようにするのがいいでしょう。

なお、1行目のsetcompatiblemodeがないと、そのあと画面で検索・置換ダイアログを
出した時のパラメータまで一緒に変わってしまいます。この1行目のおまじないがあ
ると、ダイアログのパラメータは勝手に変更されなくなります。

[ ]
RE:09949 秀丸エディターで修正No.09950
よーさん さん 22/08/30 19:08
 
>でるもんた・いいじまです。
> ......
>なお、1行目のsetcompatiblemodeがないと、そのあと画面で検索・置換ダイアログ
>を出した時のパラメータまで一緒に変わってしまいます。この1行目のおまじないが
>あると、ダイアログのパラメータは勝手に変更されなくなります。

でるもんた・いいじま様
遅れて本当に申し訳ありません。

問題なく使えてますありがとうございます。
一つお願いありまして
置換と同じように変更箇所が何か所表示できるマクロを教えて貰えませんでしょうか。

よろしくお願い致します。



[ ]
RE:09950 秀丸エディターで修正No.09951
igus さん 22/08/31 06:01
 
よーさんこんにちは。やっつけ仕事 ^^;

setcompatiblemode 0x20000;
begingroupundo;gofiletop;#num=0;
while(1){
  replacedown @"([\xA0-\xDF\x81\x40-\xFC\xFC]+)", "\\1", regular;
  if(!result)break;
  #num=#num+1;}
searchdown @"[\xA0-\xDF\x81\x40-\xFC\xFC]+",regular,hilight;
message "変更個所は "+str(#num)+"個所";
replaceallfast @"[\xA0-\xDF\x81\x40-\xFC\xFC]+", "", regular;
endgroupundo;

[ ]
RE:09951 秀丸エディターで修正No.09952
よーさん さん 22/09/06 21:03
 
>よーさんこんにちは。やっつけ仕事 ^^;
> ......
>endgroupundo;


やっつけ仕事さん
お世話になります。

使いやすく助かりました
ありがとうございます。



[ ]