|
秀まるお2さん、お世話になります。
> 複数行になってるデータを1行にまとめて、それから変換モジュールでソート
>させて、ソートした後のデータを元の複数行に戻す作戦がいいと思います。
ありがとうございます。
お教え頂き、少しだけ、考え方が分かってきました。
上手く置換できましたので、
マクロで、
setcompatiblemode 15;
gofiletop;
replaceall "\(\?<\!</tr>\)\\n" , "\\t" , regular, nohilight;
if( ! result ) beep;
gofiletop;
replaceall "\^\(\.\*colspan=\"3\"\.\*\)\\n\(\.\*\)\\n\(\.\*\)\\n" , "\\1\\t
\\2\\t\\3\\n" , regular, nohilight;
if( ! result ) beep;
gofiletop;
replaceall "\^\(\.\*>\)\(\\d\{4\}/\\d\{2\}/\\d\{2\} \\d\\d:\\d\\d:\\d\\d\)\
(</td\.\*\)\$" , "\\2\\t\\1\\2\\3" , regular, nohilight;
if( ! result ) beep;
endgroupundo 1;
として、やってみました。ありがとうございます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
もう一度お願いします。
まずは、データですが、
\t{4}<tr>\n\t{5}<td colspan=\"3\">\n.+<hr />\n.+</td>\n.+</tr>
又は、
^(.*colspan="3".*)\n(.*)\n(.*)\n
という箇所が、データ区切りの上でなく、下でした。
> このままでは1つのデータが3行セットになってるので、さらにそれを1行に
>まとめます。
>
>検索: ^(.*colspan="3".*)\n(.*)\n(.*)\n
>置換: \1\t\2\t\3\n
ここを
検索: ^(.*)\n(.*)\n(.*colspan="3".*)\n
置換: \1\t\2\t\3\n
>検索: ^(.*>)(\d{4}/\d{2}/\d{2} \d\d:\d\d:\d\d)(</td.*)$
>置換:\2\t\1\2\3
この箇所は、変更しなくても良いのでは無いかと思いますが、
違いますでしょうかか? 問題なく置換されている気がします。
気がしますというのは、
例外のデータが少々ありまして、区切り線(<hr />)がずれていきます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
そこで、もう一回、少し、言い換えて、相談をさせて下さい。
履歴データの一つ一つを、
^\t{4}.+(.*colspan="3".*)\n
という改行なしの一つのデータにしてから、
日付をコピーする。
と言う方法にしたいのですが、どうしたら良いのか、
ご指導願えませんでしょうか?
タブというのは、全削除しまっても良いのですが、
検索する都合上、必要なものは、作るか、置いておくか、
その辺も、ご指導頂きく訳にはいきませんでしょうか?
自分で案を出したいのですが、現在、頭が一杯一杯で、回転していません。
どうかよろしくお願いします。
|
|