行毎削除についてNo.26987
ちゃ さん 09/08/24 18:17
 
お世話になります。

(秀丸エディタVer7.11使用)

以下のテキストデータがあって、

-----「a.txt」
10 AAA
20 BBB
30 CCC
40 DDD
50 EEE
60
70
80 FFF
90
11 GGG

上記で数値の隣のデータが空白になっているものを行毎削除にして、
上方向へシフトしたいです。

-----「期待している結果」
10 AAA
20 BBB
30 CCC
40 DDD
50 EEE
80 FFF
11 GGG

以下のマクロを作成し、実行してみたところ、

-----
gofiletop;      // ファイル先頭にカーソルを移動

while(code != eof){     // ファイルの終わりまでループ

        searchdown "^([0-9]{2})  +$", regular;

        if (!result) {
                endmacro;
        }

        else{
                deleteline;
        }
}

以下のような結果になり、「70」のところの空白行が残ってしまいます。
-----
10 AAA
20 BBB
30 CCC
40 DDD
50 EEE
70
80 FFF
11 GGG

当方はプログラミング経験が浅く、
期待している結果の通り、上記マクロをどう変更すれば良いのか分からなかったので、
どなたかご教授下さい。宜しくお願いいたします。

[ ]
RE:26987 行毎削除についてNo.26989
小電流 さん 09/08/24 19:09
 
マクロ自体いらない気がします。

置換ダイアログ
検索:^[0-9]{2}\n
置換:
正規表現ON

で全置換

マクロなら
replaceall "^[0-9]{2}\\n","",regular;
※replaceallfastでもお好みで
の1行です。

ちなみに、元のマクロを直すとすると、searchdownではなく
searchdown2を使用してください。

[ ]