出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[1844] Re:TextStreamの書き込みについて
投稿者:北岳さん 2002/03/09 17:10:08
書換基準点がどこにあるか次第なので、私なら元CSVファイルの性質に合わせてその都度考えます。
 
[1]1行(1レコード)を一つの文字列と捉えたとき、書換情報が事前に判っていれば、
 str1=置換前文字列 & csv区切文字(vbCr and/or vbLf のどれか)
 str2=置換後文字列 & csv区切文字
を設定してから、
 strall=ts.ReadAll⇒Replace(strall,str1,str2)
で一発置換します。(一時ファイルは作成不要)
(各レコードは、ファイル全体中でユニーク、全く同一のレコードが複数あり最初の1つだけor全部換える、などありますから状況次第。)
 
[2]何行目を換えるか判っている場合、ReadLineで1行づつ読み込み、コピーだったり書き換えたりしながら、
一時ファイルを作るなら、WriteLineで1行づつ書き写します。
メモリ内だけでやるなら、文字列を & でつなげて行きます。
 
[3]"abc,?,?,?" を "abc,1,2,3" に書きかえる場合で、頭のabcだけユニークで後に何があるか判らなければ、
strall=ts.ReadAll後に区切文字でSplitして配列に入れてから、
left(strall,3)="abc" となる配列要素を探し置換前の中身を得れば、[1]を適用できます。
("abc"の部分の文字数も不明なら、区切文字でSplitした配列要素をさらに","でSplitします。)
 
[4]1文字づつ読み MidやInStr関数を使って書きかえるのは、相当にややこしいからお勧めしません。
 
どれも最後に上書保存します。

TextStreamの書き込みについて   しょうごさん [2002/03/08 22:59:22] [1837]
  Re:TextStreamの書き込みについて   喜平さん [2002/03/09 15:19:27] [1841]
  Re:TextStreamの書き込みについて   北岳さん [2002/03/09 17:10:08] [1844]
    Re:TextStreamの書き込みについて   しょうごさん [2002/03/13 23:23:43] [1866]


TreeBBS For ASP V.0.1.3
Program By YasNet