ひらがな部分の削除No.03581
Hirohiro さん 03/02/11 17:55
 
おたずねします。下記のような文章中、ひらがな部分だけを削除するマクロはありま
すか。

夜雨       やう      night rain
空手形 からてがた  (n) bad (fictitious)

[ ]
RE:03581 ひらがな部分の削除No.03582
山紫水明 さん 03/02/11 21:11
 
 Hirohiroさん,こんばんは。

》おたずねします。下記のような文章中、ひらがな部分だけを削除するマクロは
》ありますか。

検索文字:[ぁ-ん]+
置換文字列:なし
正規表現 ON

これで全置換でできます。

マクロでは
replaceallfast "[ぁ-ん]+", "", regular;
となります。

     では, (^^)/~
                                        山紫水明

[ ]
RE:03581 ひらがな部分の削除No.03584
アルビレオ さん 03/02/11 21:16
 
アルビレオです。

>おたずねします。下記のような文章中、ひらがな部分だけを削除するマクロはあり
>ますか。

マクロを使わなくても「検索」→「置換」で可能です。
検索:[ぁ-ん]
置換:
正規表現:ON
※「置換」の部分は何も入力しない
として、「全置換」ボタンで一気に削除できます。
マクロなら
 replaceall "[ぁ-ん]","",regular;
となります。
replaceall のかわりに replaceallfast を使うと置換中に画面を更新しないので高
速です。

>夜雨       やう      night rain
>空手形 からてがた  (n) bad (fictitious)

この形式なら、前後に空白のあるひらがな文字列に限定するとより安全かもしれませ
ん。
わかりやすいように半角スペースを'_'と表記することにすると、
検索:_[ぁ-ん]+_
置換:__
正規表現:ON

マクロなら
 replaceall "_[ぁ-ん]+_","__",regular;
です。

ついでに連続した空白を1つにまとめる場合は
 replaceall "_+[ぁ-ん]+_+","_",regular;
とすれば、
夜雨       やう      night rain
 ↓
夜雨 night rain
となります。

[ ]
RE:03584 ひらがな部分の削除No.03585
Hirohiro さん 03/02/11 21:21
 
みなさん、ご親切にアドバイスをいただき恐縮してます。
いろいろ試して、勉強します。
ありがとうございました。hitohito

[ ]
RE:03581 ひらがな部分の削除No.03586
番頭++ さん 03/02/11 21:22
 
こんな感じです ...

//*1    a1.mac
    replaceall "[ぁ-ん゛゜]+", "", regular, inselect, ask;
//  replaceall "[ ぁ-ん゛゜]+", " ", regular, inselect, ask; //  半角空白も
含む ...
endmacro;

# [あ] ==> [ぁ] かも、ぼけるなーーー

[ ]
RE:03586 ひらがな部分の削除No.03587
Hirohiro さん 03/02/11 21:48
 
番頭さん、ありがとうございます。
ものすごく早いです。感激しました。
ついでにお願いがあります。
アルビレオさんが教えてくださった、「ついでに連続した空白を1つにまとめる場合
は」どうなるでしょうか。hirohiro


>//*1    a1.mac
>    replaceall "[ぁ-ん゛゜]+", "", regular, inselect, ask;
>//  replaceall "[ ぁ-ん゛゜]+", " ", regular, inselect, ask; //  半角空白も
>含む ...
>endmacro;

[ ]
RE:03587 追伸No.03588
Hirohiro さん 03/02/11 21:51
 
アルビレオさんに教わったとおりにやっても、うまくいきません。
できたら、漢字と英字のスペースを全角にしたいのですが、
図々しいお願いで申しわけありません。hirohiro

[ ]
RE:03581 ひらがな部分の削除No.03589
ひろ さん 03/02/11 23:16
 
 Hirohiro さん今日は、ひろです。
> ひらがな部分だけを削除するマクロ
 マクロの必要はなく、正規表現を用いた置換で出来ます。単純に全てのひら
がなを消したいなら、検索文字列に「[ぁ-ん]+」として置換文字列は空に、正
規表現を ON にして [全置換]。

[ ]
RE:03588 追伸No.03591
番頭++ さん 03/02/12 00:00
 
いまいち、仕様(何をしたいのか)が見えないのですが ...

_ は半角の空白 (\x20)、_ は全角の空白 (\x8140) と、読み替えてください。

夜雨_やう_night_rain
空手形_からてがた_(n)_bad_(fictitious)

と言うデータを、

夜雨_night_rain
空手形_(n)_bad_(fictitious)

に加工したいのでしょうか ???

//*1    a1.mac
    $okikae_moji = "\\x81\\x40";
    replaceall "\\x20[ぁ-ん゛゜]+\\x20", $okikae_moji, regular, inselect, ask;
endmacro;

# アルビレオさんの (親切、丁寧な) 説明をもう一度よみなせば ...

[ ]
RE:03591 追伸No.03592
Hirohiro さん 03/02/12 06:05
 
>いまいち、仕様(何をしたいのか)が見えないのですが ...

すみません。お手数をかけます。
ほんとは、

夜雨______やう________ night_rain
空ら手形__からてがた__(n)_bad_(fictitious)

のような、漢字部分、ひらがな部分、英語部分のスペースが一定してい
ないもののうち、漢字部分のひらがなは残して、ひらがな部分だけを削
除して、下記のように、空白を全角1字分に揃えたいのですが、無理で
しょうか。

雨_night_rain
空ら手形_(n)_bad_(fictitious)

アメリカの大学のホームページにのっていた和英辞書をダウンロード
して、PDIC用の辞書に変換したいと思ってます。
よろしくお願いします。

[ ]
RE:03592 追伸No.03594
番頭++ さん 03/02/12 06:24
 
> 夜雨______やう________ night_rain
> 空ら手形__からてがた__(n)_bad_(fictitious)
> のような、漢字部分、ひらがな部分、英語部分のスペースが一定してい
> ないもののうち、漢字部分のひらがなは残して、ひらがな部分だけを削
> 除して、下記のように、空白を全角1字分に揃えたいのですが、無理で
> しょうか。
> 雨_night_rain
> 空ら手形_(n)_bad_(fictitious)

こんな感じです ...

「゛゜ー」も削除の対象にしています。

//*1    a2a.mac
    $okikae_moji = "\\x81\\x40";
    replaceall "[\\x20\\x81\\x40]+[ぁ-ん゛゜ー]+[\\x20\\x81\\x40]+", $okikae
_moji, regular, inselect, ask;
endmacro;

//*1    a3a.mac
    $okikae_moji = "\\x81\\x40";
    replaceall "[\\x20]+[ぁ-ん゛゜ー]+[\\x20]+", $okikae_moji, regular, inse
lect, ask;
endmacro;

[ ]
RE:03594 追伸No.03595
Hirohiro さん 03/02/12 07:29
 
番頭さん、ありがとうございます。
尊敬してしまいます。ばっちしでした。
これで、何千字という和英辞書を変換することができます。
ほんとにありがとうございます。hirohiro

[ ]
RE:03581 余談ですが ...No.03598
番頭++ さん 03/02/13 05:22
 
「検索」「置換」って、知らない人の方が多いみたいです。
まして「置換の処理で削除を行う ...」は「神技」に見えるかも知れません。
「正規表現」も「別世界の話」...

「テキストエディタって何 ???」とかの話もありましたし ...

今回の要望は「マクロが欲しい」です、よね。
「マクロを示して、相手に興味があれば、補足説明をする ...」とか、
人にモノを教えることって、難業ですねぇ。

# 去年、ある高校での思い出です ...

[ ]