VBSについて質問です。 テキストファイルを1行ずつ読みこみ、指定の文字列があった場合のみ、配列に格納する もしくは
VBSについて質問です。 テキストファイルを1行ずつ読みこみ、指定の文字列があった場合のみ、配列に格納する もしくは 1行ずつ読み込んだ後に、配列に格納し、その後、指定の文字列を検索し、ヒットしない配列をすべて削除する 1つ目のほうが簡単そうですが、わかりません。 お手数おかけいたしますがよろしくお願いいたします。
Visual Basic | プログラミング・128閲覧・25
ベストアンサー
まず配列を使うとなると、最大要素数が分かっていないと使えません。 なので ①ReadAllで一度に読み込んでおいてSplitで一行づつ分ける。 ②最大行数が最大要素数になるのでReDimして配列に一行ずつセットする。 ③その配列をFilter関数を使って指定の文字列があるデータだけの配列を作る。 という順序でしょうか。 このコードは、VBScriptポケットリファレンスという本を参照すればできます。 ファイルサイズが大きいとReadAllできないことがあるので、その時は ①ReadLineして、一行づづコレクションオブジェクトにAddする ②コレクションオブジェクトの値を配列にセットしなおす。 ③あとは上の②と③に同じ という処理になるでしょう。
指定の文字列にワイルドカードを使う必要があれば、Filter関数では無理で、一行単位にRegExp(正規表現オブジェクト)を使って検索するしかありません。
質問者からのお礼コメント
自分で解決できました。 ありがとうございました。
お礼日時:1/17 9:37