VB初心者です。
どうかご教授お願いします。
環境は6.0です。
やりたいのは、まずtxtファイルを読み込み、
ファイル内のスペースを消すというものです。
スペースを消す際に条件があり、
スペースが一つのものはそのまま残し、
二つ以上繋がっているものは消すということをやりたいです。
例を下に記しました。
・元のテキスト
A B C
↓
・変換後
A BC
読み込んだファイルを1行ずつ読み込み、
その行内のスペースがどのように判定させればいいか悩んでいます。
どうか良い方法がありましたら、ご教授お願いします。
str1 = "A B C"
str2 = Space(3)
str3 = Replace(str1, str2, "")
MsgBox str3
基本は「Replace」を使えばいいです。
ただ、最大いくつまでの連続スペースを想定するか(つまり仕様)
によってはこの方法では非効率かも知れません。
お返事ありがとうございます。
一度埆さんのやり方で試してみます。
正規表現を使えば簡単にできます。
参照設定でMicrosoft VBScript Regular Expressions 5.5を追加してください。
Dim objReg As RegExp
Set objReg = New RegExp
objReg.Pattern = "\s\s+"
MsgBox objReg.Replace("A B C", "")
Global プロパティを設定すべきかと。>matsuさん
>Global プロパティを設定すべきかと。>matsuさん
確かにGlobal = True(複数マッチ可)にする必要がありますね。
魔界の仮面弁士さん、指摘ありがとうございます。
埆さんのやり方で出来ました。
ありがとうございました。
matsuさん、魔界の仮面弁士、やり方は色々あるみたいですね・・・
まだまだ自分は勉強不足ですが、大変勉強になりました。
皆様、本当にありがとうございます。
ツイート | ![]() |