|
皆さん今日は、ひろです。
単純に考えるなら、単語の置換なら、
replaceallfast "word","Word",word;
で良いのですが、設定によっては word0, 1word は置換されません。また設
定にかかわらず、word_, _word は置換されません。この仕様はプログラミン
グの時は良いのですが、通常の文章では、感覚と一致しません。
そこで末尾のマクロなら問題ないと思うのですが、何か抜けていればご指
摘を頂けないでしょうか? なお replaceallfast を使った方が簡単なのです
が、ダイアログが表示させたくないので、finddown2 を使っています。
//---------------------- word replace -------------------------------
call WordReplace "word", "Word";
endmacro;
WordReplace:
disabledraw;
call WordReplace2 $$1, $$2, 5;
call WordReplace2 "[^A-Za-z]\\f" + $$1 + "$", "\\0" + $$2, 20;
call WordReplace2 "^" + $$1 + "\\f[^A-Za-z]", $$2 + "\\1", 20;
call WordReplace2 "[^A-Za-z]\\f" + $$1 + "\\f[^A-Za-z]",
"\\0" + $$2 + "\\2", 20;
enabledraw;
return;
WordReplace2:
gofiletop;
setsearch $$1,##3;
setreplace $$2;
while( 1 ){
finddown2;
if( !result )break;
}
return;
|
|