複数カンマ付与についてNo.00666
Nshi0025 さん 22/06/17 06:23
 
銀行の入出金データーのテキストをCSVに変換したいのですが、テキストの仕様は、
一行120バイトです。
銀行名・支店名や口座名義等の不定文字数についてはスペースで調整されています。
全角はなく全て半角英数カナです。
特定の位置にカンマを挿入して、最後にスペースを削除でできると思うのですが、カ
ンマを打つ個数が一行に10箇所になります。
スペース削除はいいのですが、文字に関係なく左から何番目と何番目と・・・
10箇所特定位置にカンマを打つ方法は無いでしょうか?

[ ]
RE:00666 複数カンマ付与についてNo.00667
秀まるお さん 22/06/17 10:41
 
 たぶん正規表現の置換だけで出来ると思うんですが、具体的なサンプルが無いと、
果たしてどういうデータをどう加工したいのかよく分かりません。

 実際のデータの中の文字を何か別の差し支えない物に置き換えるなどしてサンプル
データを提示してみてほしいです。

 変換前と変換後の両方お願いします。

[ ]
RE:00666 複数カンマ付与についてNo.00668
ラフ さん 22/06/17 15:27
 
詳細がわからんけど、多分こんな事がしたいのかなと。
複数行想定なので、1行だけなら行のループが不要

##l = 1; // 開始行

// カンマ挿入位置(桁)
##inspos[0] = 10; // 10文字目の前へ挿入
##inspos[1] = 21;
##inspos[2] = 33;
##inspos[3] = 42;
##inspos[4] = 50;
##inspos[5] = 60;
##inspos[6] = 75;
##inspos[7] = 90;
##inspos[8] = 100;
##inspos[9] = 110;

// 1行名から最終行(EOF行)の前までループ
while(##l < linecount) {
 ##i = 0;
 while(##i < 10) { // 10か所まで
  movetolineno ##inspos[##i] + ##i, ##l;
  insert ",";
  ##i = ##i + 1; // 次インデックス値
 }
 ##l = ##l + 1; // 次行指定
}
replaceall " ",""; // 空白削除

[ ]