みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

vbs 数字の間に記号を挟む

以下の文字列があるとします。
ABCDEFG12345

これを以下に変換したいです。
ABCDEFG1.2.3.4.5

プログラムのご教示頂きたいです。

投稿日時 - 2019-03-20 09:56:23

QNo.9598632

暇なときに回答ください

質問者が選んだベストアンサー

参考に
Option Explicit
Dim strText, strNText, i, n1, n2
strText = "ABCDEFG12345"
For i = 1 to Len(strText)
n1 = Mid(strText, i, 1)
n2 = Mid(strText, i + 1, 1)
If IsNumeric(n1) and IsNumeric(n2) Then
strNText = strNText & n1 & "."
Else
strNText = strNText & n1
End If
Next
MsgBox strNText

投稿日時 - 2019-03-20 11:29:31

お礼

ありがとうございました。
うまくいきました。

投稿日時 - 2019-03-20 18:42:21

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

何が聞きたいのか?
エクセルVBAならできるが、VBSではうまく行かなかったのか?やっていないのか?
ーー
Googleで調べれば、
こういうVBSの関数に関する記事がある。
https://www.kanaya440.com/contents/script/vbs/function/index_text.html
Mid関数やIsnumeric関数が使える。
ーー
または、ロジックが分からないのか。
文字列を1文字(Midを使って)ずつ見て行って、数字の始まり位置を知(Isnumericで判定)れば仕舞。ピリオドは「&」で(後)結合する。最後だけ
ピリオドを付け加えない。
http://www.dicre.com/ols/vbs/body33.html 文字列の連結
 前提は、数字の「かたまり」が、文字列の中で、2か所以上ないものとしてよいのかどうか。何でも、プログラムを組むということは、最後のような、当たり前としている風な、条件を注意し、意識することだ。

投稿日時 - 2019-03-20 13:36:33

あなたにオススメの質問