マクロでの"。"と"!"の検索No.29569
Olds_man さん 11/03/06 13:54
 
マクロでの検索で、日本語の

searchdown "。"



searchdown "!"

が出来ません。
fuzzy や regular なども試したのですが出来ません。

何かの単純な見落としが有るのだろうと思いますが、
アドバイスをお願いいたします。

[ ]
RE:29569 マクロでの"。"と"!"の検索No.29570
Iranoan さん 11/03/06 17:09
 
 Olds_man さん今日は、一ユーザの Iranoan です。
> searchdown "。"
>
> と
>
> searchdown "!"
>
> が出来ません。
 そもそも、このマクロエラーになりませんか?
 次の様に末尾に「;」が必要です。
//------------------------------------------------------------
searchdown "。";
searchdown "!";

[ ]
RE:29570 マクロでの"。"と"!"の検索No.29573
Olds_man さん 11/03/06 18:33
 
> そもそも、このマクロエラーになりませんか?
> 次の様に末尾に「;」が必要です。
>//------------------------------------------------------------
>searchdown "。";
>searchdown "!";

大変失礼しました、実際には
//------------------------------------
searchdown "。";
if( result == true ){
〜〜〜〜〜〜〜〜〜〜〜〜
}
//------------------------------------
の様に使っています。
色々とやっていると、前後の文字の種類によって
検索が出来たり/出来なかったりしています。
正規表現を使えばよいのでしょうか?

[ ]
RE:29573 マクロでの"。"と"!"の検索No.29574
Iranoan さん 11/03/06 20:24
 
 Olds_man さん今日は、Iranoan です。
> 色々とやっていると、前後の文字の種類によって
> 検索が出来たり/出来なかったりしています。
 それなら、省略しないで、問題の起きるマクロを書き込んで頂くと、何か解
るかもしれません。実際に検索する文章によっても異なるなら、それも書き込
んで頂くと、一層解りやすいかと。
> 正規表現を使えばよいのでしょうか?
 普通に和文全角文字を検索するなら、その必要はないはずです。

[ ]
RE:29574 マクロでの"。"と"!"の検索No.29577
Olds_man さん 11/03/06 22:31
 
Iranoan さん、こんばんは、お世話になっています。

> 普通に和文全角文字を検索するなら、その必要はないはずです。

「。」の検索の所だけのマクロを作って試しましたら、
問題なく出来ました。

//--------------------------------------------------
gofiletop ;
Maru_Cr:
  searchdown "。" ;
  if( result == true ){
    if( column < linelen2 - 2 ){
      right ; insert "\n" ; goto Maru_Cr ;
    }
  }
//--------------------------------------------------
endmacro ;

改行のしてない文章を、「。」の所で全て改行にするマクロです。
その他の処理に不具合が有るようですので、その他の部分を
再度見直して見ます。

どうもありがとうございました。

[ ]
RE:29577 マクロでの"。"と"!"の検索No.29578
Iranoan さん 11/03/06 22:45
 
 Olds_man さん今日は、Iranoan です。
 本題と関係有りませんが、
> 改行のしてない文章を、「。」の所で全て改行にするマクロです。
が目的なら、正規表現を使った次のマクロの方が速いです。
 欠点は、「正規表現 DLL を標準の HmJre.dll 以外にしていると、動作しな
い可能性がある」点です。
//------------------------------------------------------------
disabledraw;
replaceall "(?<=。)(?!\n)", "\n", regular;

[ ]
RE:29577 マクロでの"。"と"!"の検索No.29579
Olds_man さん 11/03/06 22:57
 
>その他の処理に不具合が有るようですので、その他の部分を
>再度見直して見ます。

やっと原因が分かりました。
前回のマクロでは現在行の位置のチェックが抜けていました。

//-----------------------------------
gofiletop ;
while( lineno < linecount2 ){
  searchdown "。" ;
  if( !result ) break ;
  if( column < linelen2 - 2 ){
    right ; insert "\n" ;
  }
}
//-----------------------------------
endmacro ;

上記にしたら、全体のマクロが完全に問題なく動きました。

色々とアドバイス、有り難うございました。

[ ]
RE:29578 マクロでの"。"と"!"の検索No.29580
Olds_man さん 11/03/06 23:17
 
こんばんは、Iranoan さん。

> 本題と関係有りませんが、
>> 改行のしてない文章を、「。」の所で全て改行にするマクロです。
>が目的なら、正規表現を使った次のマクロの方が速いです。
> 欠点は、「正規表現 DLL を標準の HmJre.dll 以外にしていると、動作しな
>い可能性がある」点です。
>//------------------------------------------------------------
>disabledraw;
>replaceall "(?<=。)(?!\n)", "\n", regular;

上記を早速試したら、全く問題なく動きました。
色々と悩んだのがこんなに簡単に・・・・

全体の処理に組み込んで早速使いたいと思います。

どうも有り難うございました。

[ ]