|
らくださんこんにちは。
> 一つのファイルの中から
> ある特定の文字列を含む行全てを
> 削除するマクロを
正規表現を使った置換が手っ取り早いです。
まず、マクロでなく手作業でやる場合。
特定の文字列を「hoge」とすると
「検索」→「置換」のダイアログで
検索文字列→.*hoge.*\n
置換文字列→(空欄)
□正規表現→チェックする
としておいて「全て置換」とすると
「hoge」を含む全ての行が(改行も含めて)削除されます。
「.*」てのは「改行を除く0文字以上の任意の文字列」です。
「\n」てのは「改行」です。
「.*hoge.*\n」だと「hogeの前に0文字以上、後ろに0文字以上あって
その後ろに改行があるような行」ということになりますが、
正規表現を使った検索・置換は、条件にあてはまる文字列のうち
できるだけ長い範囲を対象にするようにできている(「最長一致の原則」と
いいます)ので、結果的には「hoge」を含む行全体がヒットします。
同じことをマクロで書くと
replaceall ".*hoge.*\\n","",regular;
となります(replaceallfastでも一緒)。
「\n」→「\\n」となってるところに注意して下さい。
老婆心ながら、まず手作業(「検索」→「置換」)で思い通りに動くことを
確認して、次にマクロをお書きになることをおすすめします。
|
|