意図通りの改行挿入ができません。No.29353
可愛村のたかし さん 10/12/29 22:23
 
 原文の日付部に改行を挿入したいのですが、自作のマクロだと、最初の日付の前に
改行を挿入し続けます。
 下の日付に移動させるにはどのようにするのでしょうか?

原文
──
12月22日
午前1時台
木に登って人生が変わった ツリークライミングジャパン代表 ジョンギャスライト
12月24日
午前0時台
[春夏秋冬味めぐり]「鴨」ソムリエ 田崎真也
午前1時台
ゴジラを見守る父として松井秀喜ベースボールミュージアム館長 松井昌雄12月22日


校正
──
12月22日
午前1時台
木に登って人生が変わった ツリークライミングジャパン代表 ジョンギャスライト

12月24日
午前0時台
[春夏秋冬味めぐり]「鴨」ソムリエ 田崎真也
午前1時台
ゴジラを見守る父として松井秀喜ベースボールミュージアム館長 松井昌雄


gofiletop;
while(1){
 searchdown2 "[0-9]?[0-9]月[0-9]?[0-9]日", nocasesense, regular, fuzzy;
 if( result == false ) break;
 golinetop;
 insertreturn;
}
endmacro;

[ ]
RE:29353 意図通りの改行挿入ができませんNo.29354
三月 さん 10/12/30 02:31
 
スマートなやり方ではないですが、
見つかった位置からさらに2個右に移動して続きを検索すれば
同じ場所にヒットしなくなるので。

-------------------------------------------------------
gofiletop;
right;right; // 先頭は避ける
while(1){
 searchdown2 "[0-9]?[0-9]月[0-9]?[0-9]日", nocasesense, regular, fuzzy;
 if( result == false ) break;
 escape; // 範囲選択解除
 if( column != 0 ){ // 行頭でなければ
  insertreturn; // 改行挿入
 }
 insertreturn; // 空行挿入
 right;right; // 次へ
}
endmacro;

[ ]
RE:29354 意図通りの改行挿入ができませんNo.29355
可愛村のたかし さん 10/12/30 09:24
 
有り難うございました。目的は達成できました。【escape; // 範囲選択解除】がな
いと日付が消えるのがわかりました。

 お手数ついでに、「スマートなやり方ではないですが、」と言うことですが、これ
以外にどのような方法が考えられるのか教えてください。
 解決方法が色々あるのは承知しているのですが、「わかりやすくて最短のマクロ」
を心がけたいと思っています。

[ ]
RE:29353 意図通りの改行挿入ができませんNo.29356
K'zawa さん 10/12/30 09:37
 
可愛村のたかしさん、こんにちは。
K'zawaです。

こんなやり方もあります。


replaceallfast "\\n?\\n?([0-9]?[0-9]月[0-9]?[0-9]日)", "\\n\\n\\1",
nocasesense, regular, fuzzy;

// 文頭の空行削除
gofiletop;
while(1) {
  if( linelen2 == 0 ) delete;
  else break;
}

[ ]