初投稿です。よろしくお願いいたします。
テキストボックスの文字列でスペースから次のスペースまでを取得したいのですが、
どのようにしたら良いでしょうか?
例えば、
『12AB 345CDE 67FG』
『123ABC 45DE 678FGH』
などという文字列があった場合、
『345CDE』と『45DE』のみを取得したいのです。
教えてください!よろしくお願いいたします。
私なら
まず文字の数を取得します。
次にFor文で文字の数だけ繰り返しながら一文字づつみます。
その中でif文を使って「スペース」かどうか判断しながら
最初のスペースまでの文字を配列変数に格納
「スペース」出くわしたら配列変数の添え字を足して
次の文字列を格納
・・・て繰り返します。
いかがですか? 原始的?
VB6ならSplitで分割したら?
例がが半角として
Dim dat() As String
tmp= "12AB 345CDE 67FG"
dat = Split(tmp," ") '半角の空白、全角の時は全角の空白
Debug.Print dat(0) ' 12AB
Debug.Print dat(1) ' 345CDE
Debug.Print dat(2) ' 67FG
dat(1) を利用すれば良いでしょう。
マフユさん
そんな便利なものが有ったのですか。
いや、勉強になりました。
てなとこで、先程の内容は忘れてください
どうして忘れて下さいなのですか?
Splitや他の方のフォローで解決したなら
マナーとしてのお礼の言葉と
(別にお礼を言われたい訳では無いがマナーでしょ?)
この掲示板での作法の「解決」処理をして下さいよ!
私の場合はInstr関数である文字から別のある文字まで抽出する関数を
作ったことがあります。
ところでマフユさん。
Syakeさんは最初の質問者ではなくて、解答してくださった方です。
その方がマフユさんのSplit関数を使う方が簡単なので、質問者のたかっちさんに
自分(Syakeさん)のLoop処理の提案は「忘れてください」と書かれているはずです。
「解決」処理は質問者の たかっちさんが理解できたらチェックすることだと
思いますよ。
失礼しました。
読み方が甘かったです。
ご指摘ありがとうございました。
Syakeさん、マフユさん、IMAさん、自分が早いうちに解決書き込みしないことで
ご迷惑をお掛けしまして申し訳ありませんでした。
マフユさんのSplit関数で実施したところ見事にうまく行きました!
ありがとうございました!