失礼しますNo.05926
noda さん 08/10/09 23:50
 
 初めまして日頃秀丸を使っている者なのですが、質問がありまして投稿させ
ていただきました。既出でしたら申し訳ありませんがご容赦ください。

 例えば次のような文がありまして

------------------------<p>
------------------------<p>
------------------------<p>
------------------------<p>
○------------------------<p>
------------------------<p>
------------------------<p>
○------------------------<p>
------------------------<p>
○------------------------<p>
○------------------------<p>
------------------------<p>
------------------------<p>
------------------------<p>
------------------------<p>

 この場合の○のついている始めの行から最後の行(5〜11)まで、<p>の
みを削除するマクロを作りたいのですが、どのようにすれば良いかおわかりに
なる方はいらっしゃいませんでしょうか?
 ネットなどを調べると、特定の文字を含んだ行全てを消すというマクロは
見つかりました。また置換すると○のない行も途中にあるためうまくいきませ
ん。初歩的な質問ですみませんがもし、ご存知の方がいらっしゃいまたら、お
教え願えませんでしょうか。

[ ]
RE:05926 失礼しますNo.05927
緒方聡 さん 08/10/10 00:34
 
こんばんは。

置換でできそうです。

^○.+\f<p>$
\0

^○.+\f<p>$ が検索文字列、\0 が置換文字列です。
正規表現にチェックして置換してみてください。

[ ]
RE:05926 失礼しますNo.05928
IKKI さん 08/10/10 12:05
 
こんにちは。ユーザの IKKI です。

>  この場合の○のついている始めの行から最後の行(5〜11)まで、<p>の
> みを削除するマクロを作りたいのですが、

こんな感じでどうでしょうか。

// ○で始まる最初の行を検索する
gofiletop; // 文書頭へ移動して
searchdown "^○", regular; // 下へ検索
// 範囲選択開始
beginsel;
// ○で始まる最後の行を検索する
gofileend; // 文書末へ移動して
searchup "^○", regular; // 上へ検索
golineend2; // その行末まで移動
// 範囲選択終了
endsel;
// 選択範囲内を置換する
replaceall "<p>$", "", regular, inselect;

[ ]
RE:05926 ありがとうございます。No.05931
noda さん 08/10/11 00:05
 

 緒方聡 様
 IKKI  様

 nodaです。迅速な返信ありがとうございます。先ほど試してみ
ましたところうまくいきました。丁寧な対応に感謝しております
。それでは、失礼しました。

[ ]