txtファイルを読み込み、スペースを消したい

解決


フルネルソン  2008-08-30 23:24:38  No: 140329  IP: 192.*.*.*

VB初心者です。
どうかご教授お願いします。
環境は6.0です。

やりたいのは、まずtxtファイルを読み込み、
ファイル内のスペースを消すというものです。
スペースを消す際に条件があり、
スペースが一つのものはそのまま残し、
二つ以上繋がっているものは消すということをやりたいです。
例を下に記しました。

・元のテキスト
A B   C



・変換後
A BC

読み込んだファイルを1行ずつ読み込み、
その行内のスペースがどのように判定させればいいか悩んでいます。
どうか良い方法がありましたら、ご教授お願いします。

編集 削除
 2008-08-30 23:59:13  No: 140330  IP: 192.*.*.*

str1 = "A B   C"
    str2 = Space(3)
    str3 = Replace(str1, str2, "")
    MsgBox str3
基本は「Replace」を使えばいいです。
ただ、最大いくつまでの連続スペースを想定するか(つまり仕様)
によってはこの方法では非効率かも知れません。

編集 削除
フルネルソン  2008-08-31 19:16:03  No: 140331  IP: 192.*.*.*

お返事ありがとうございます。
一度埆さんのやり方で試してみます。

編集 削除
matsu  2008-09-01 14:09:49  No: 140332  IP: 192.*.*.*

正規表現を使えば簡単にできます。
参照設定でMicrosoft VBScript Regular Expressions 5.5を追加してください。

Dim objReg      As RegExp

Set objReg = New RegExp

objReg.Pattern = "\s\s+"
MsgBox objReg.Replace("A B   C", "")

編集 削除
魔界の仮面弁士  2008-09-01 14:30:49  No: 140333  IP: 192.*.*.*

Global プロパティを設定すべきかと。>matsuさん

編集 削除
matsu  2008-09-01 16:29:50  No: 140334  IP: 192.*.*.*

>Global プロパティを設定すべきかと。>matsuさん

確かにGlobal = True(複数マッチ可)にする必要がありますね。
魔界の仮面弁士さん、指摘ありがとうございます。

編集 削除
フルネルソン  2008-09-01 23:38:51  No: 140335  IP: 192.*.*.*

埆さんのやり方で出来ました。
ありがとうございました。

matsuさん、魔界の仮面弁士、やり方は色々あるみたいですね・・・
まだまだ自分は勉強不足ですが、大変勉強になりました。

皆様、本当にありがとうございます。

編集 削除