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

解決


フルネルソン  2008-08-31 08:24:38  No: 140329

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

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

・元のテキスト
A B   C

・変換後
A BC

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


  2008-08-31 08:59:13  No: 140330

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


フルネルソン  2008-09-01 04:16:03  No: 140331

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


matsu  2008-09-01 23:09:49  No: 140332

正規表現を使えば簡単にできます。
参照設定で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 23:30:49  No: 140333

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


matsu  2008-09-02 01:29:50  No: 140334

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

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


フルネルソン  2008-09-02 08:38:51  No: 140335

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加