改行を含む文字列の置換No.03362
渡★辺 さん 02/09/10 17:12
 
大変初心者の質問で申し訳ありませんが、
お教えいただければと思います。

html文を変更するために秀丸のマクロを使っています。
ここで、改行を含む数行を一括で削除(置換)することが
できません。

(例)
_______________________
<br>
<img src="abc.gif">
<hr>
_______________________
このような3行を削除するのに
replaceallfast "<br>\n<img src=\"abc.gif\">\n<hr>\n","";


としたのですが、エラーは出ませんが
削除が実行できません。
文字列の指定の方法に問題があると思うのですが。
よろしくお願いいたします。

渡★辺


[ ]
RE:03362 改行を含む文字列の置換No.03363
たけのこ さん 02/09/10 17:20
 
たけのこです。

正規表現を含む場合は正規表現オプション(“regular”)をつけなくてはなり
ません。

[ ]
RE:03362 改行を含む文字列の置換No.03364
tnobu2 さん 02/09/10 17:20
 
>(例)
>_______________________
><br>
><img src="abc.gif">
><hr>
>_______________________
>このような3行を削除するのに
>replaceallfast "<br>\n<img src=\"abc.gif\">\n<hr>\n","";

文字列に改行コードを含めるならば検索条件は正規表現にする必要があります。
また、"\"記号はマクロ内では"\\"と書きます。

replaceallfast "<br>\\n<img src=\\"abc.gif\\">\\n<hr>\\n","",regular;

でいかがでしょうか?

[ ]
RE:03364 改行を含む文字列の置換No.03365
渡★辺 さん 02/09/10 17:36
 
>文字列に改行コードを含めるならば検索条件は正規表現にする必要があります。
>また、"\"記号はマクロ内では"\\"と書きます。
>
>replaceallfast "<br>\\n<img src=\\"abc.gif\\">\\n<hr>\\n","",regular;
>
>でいかがでしょうか?


たけのこさん、tnobu2さん、すばやいレス恐縮です。
早いんで驚きました。

ご指摘の構文では『式がおかしいです』でしたが、
replaceallfast "<hr>\\n<img src=\"s-logo.gif\">\\n<hr>\\n","",regular;

で動きました(^^)ありがとうございます。助かりました。
あまりにも初心者で恥ずかしいのですが(^^;

マクロはそれほど難しいものは使えてませんが
Home-Pageの更新に便利に使っています。
今回、200ページほどの更新をしなくては
ならず、いろいろマクロのテストしているところで
この問題に突き当たりました。
本当にありがとうございました。

渡★辺


[ ]
RE:03365 改行を含む文字列の置換No.03366
渡★辺 さん 02/09/10 17:37
 
>replaceallfast "<hr>\\n<img src=\"s-logo.gif\">\\n<hr>\\n","",regular;
>

訂正(^^;
  s-logo.gif→abc.gif


渡★辺


[ ]
RE:03366 改行を含む文字列の置換No.03367
きいろいまふらあ さん 02/09/10 20:55
 
たまたまうまくいっているのでいいといえばいいんですが

>>replaceallfast "<hr>\\n<img src=\"s-logo.gif\">\\n<hr>\\n","",regular;
>>
>
>訂正(^^;
>  s-logo.gif→abc.gif

「.」は秀丸の正規表現で任意の1文字を表しますので、上のマクロ(訂正後)
では、

<br>
<img src="abcdgif">
<hr>

なんてのも置換の対象になってしまいます。
正規表現で「.」は「\.」と書きます。既出の通りマクロでは「\」を「\\」と書
きますので結局「\\.」ということになります。まとめると、

replaceallfast "<hr>\\n<img src=\"abc\\.gif\">\\n<hr>\\n","",regular;

でよいでしょう。

[ ]
RE:03367 改行を含む文字列の置換No.03368
渡★辺 さん 02/09/11 12:57
 
>replaceallfast "<hr>\\n<img src=\"abc\\.gif\">\\n<hr>\\n","",regular;
>
>でよいでしょう。


   ご指摘ありがとうございます。
  訂正して、いろいろテストでしてみます(^^)



[ ]