文字列のスペースから次のスペースまでを取得するには?

解決


たかっち  2004-03-04 19:11:48  No: 82411

初投稿です。よろしくお願いいたします。
テキストボックスの文字列でスペースから次のスペースまでを取得したいのですが、
どのようにしたら良いでしょうか?
例えば、
『12AB  345CDE  67FG』
『123ABC  45DE  678FGH』
などという文字列があった場合、
『345CDE』と『45DE』のみを取得したいのです。
教えてください!よろしくお願いいたします。


Syake  2004-03-04 19:29:29  No: 82412

私なら
  まず文字の数を取得します。
  次にFor文で文字の数だけ繰り返しながら一文字づつみます。
    その中でif文を使って「スペース」かどうか判断しながら
      最初のスペースまでの文字を配列変数に格納
      「スペース」出くわしたら配列変数の添え字を足して
      次の文字列を格納
  ・・・て繰り返します。
いかがですか?  原始的?


マフユ  2004-03-04 19:31:15  No: 82413

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) を利用すれば良いでしょう。


Syake  2004-03-04 19:37:05  No: 82414

マフユさん
そんな便利なものが有ったのですか。
いや、勉強になりました。

てなとこで、先程の内容は忘れてください


マフユ  2004-03-04 20:10:56  No: 82415

どうして忘れて下さいなのですか?

Splitや他の方のフォローで解決したなら
マナーとしてのお礼の言葉と
(別にお礼を言われたい訳では無いがマナーでしょ?)
この掲示板での作法の「解決」処理をして下さいよ!


IMA  2004-03-04 20:57:43  No: 82416

私の場合はInstr関数である文字から別のある文字まで抽出する関数を
作ったことがあります。

ところでマフユさん。
Syakeさんは最初の質問者ではなくて、解答してくださった方です。
その方がマフユさんのSplit関数を使う方が簡単なので、質問者のたかっちさんに
自分(Syakeさん)のLoop処理の提案は「忘れてください」と書かれているはずです。

「解決」処理は質問者の たかっちさんが理解できたらチェックすることだと
思いますよ。


マフユ  2004-03-04 21:45:47  No: 82417

失礼しました。
読み方が甘かったです。
ご指摘ありがとうございました。


たかっち  2004-03-05 09:45:52  No: 82418

Syakeさん、マフユさん、IMAさん、自分が早いうちに解決書き込みしないことで
ご迷惑をお掛けしまして申し訳ありませんでした。

マフユさんのSplit関数で実施したところ見事にうまく行きました!
ありがとうございました!


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

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







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