対象の数が不定の場合の置換No.08644
dmc さん 18/03/18 22:36
 
下記のようなデータを

タイトルA
データ1
データ2
データ3
タイトルB
データ1
データ2
データ3
データ4
データ5
タイトルC
データ1





次のように整形したいのですが、(表計算にインポートのため)

タイトルAデータ1
タイトルAデータ2
タイトルAデータ3
タイトルBデータ1
タイトルBデータ2
タイトルBデータ3
タイトルBデータ4
タイトルBデータ5
タイトルCデータ1




置換で一括処理が可能なら正規表現はどう書けば良いでしょうか?

各タイトルごとのデータ数が不定なので無理ということならマクロを頑張って書きた
いと思います

[ ]
RE:08644 対象の数が不定の場合の置換No.08645
IKKI さん 18/03/19 01:02
 
こんばんは。ユーザーのIKKIです。

もしデータが本当に「データ」のような一定の文字列で始まるのならば、「データ」
の前にある改行文字を消せばよいと思います。

検索: \n(データ.*)
置換: \1

もしタイトルが「タイトル」のような一定の文字列で始まるのならば、後に「タイト
ル」が続かない改行文字を消せばよいと思います。

検索: \n(?!タイトル)
置換: (空文字列)

どちらでもないならば、そもそもタイトルとデータを機械的に判別できるのかどうか
が問題です。
具体例を出していただかないとこれ以上のことは言えませんです…。

[ ]
RE:08645 対象の数が不定の場合の置換No.08647
dmc さん 18/03/19 02:05
 
IKKIさんありがとうございます。
結局マクロで実現しました。
(IKKIさんの置換式をさきのサンプルで試しましたがうまく行きませんでした)

なお参考までに元データの具体例と自分のマクロを下記に記します。

★大 村★3/14★1
☆1R☆1☆100
☆2R☆1☆100
☆10R☆1☆120
☆12R☆1☆130
★唐 津★3/14★6
☆3R☆3☆410
☆4R☆1☆150
☆11R☆1☆100
★福 岡★3/14★2
☆4R☆1☆370
☆5R☆3☆210


while(1){
  if(code == 0x819A){
    delete;
    selectline;
    $banichi = gettext(seltopx,seltopy,selendx,selendy);
    $banichi = leftstr($banichi,strlen($banichi)-2);
    deleteline;
  }else if(code == 0x8199){
    insert $banichi;
    golineend2;
    right;
  }else
    break;
}


[ ]