VBSの文字列を操作するサンプルです。
目次
文字列を結合する(+演算子/&演算子)
'リテラル文字列を結合
WScript.Echo("あ" + "い") 'あい
WScript.Echo("う" & "え") 'うえ
'変数の値を結合
a = "か"
b = "き"
WScript.Echo(a + b) 'かき
WScript.Echo(a & b) 'かき
+演算子と&演算子で文字列を結合しています。
配列の値を区切り文字を指定して繋げる(Join)
Dim arr
arr = Array(1, 2, 3)
a = Join(arr,"")
WScript.Echo(a) '123
b = Join(arr,"-")
WScript.Echo(b) '1-2-3
Joinの2つめの引数の文字で配列の値を繋げます。
指定した位置の文字を取得する(left/mid/right)
str1 = "あいうえお"
WScript.Echo(left(str1,1)) 'あ
WScript.Echo(left(str1,2)) 'あい
WScript.Echo(mid(str1,1,1)) 'あ
WScript.Echo(mid(str1,1,2)) 'あい
WScript.Echo(mid(str1,2,1)) 'い
WScript.Echo(right(str1,1)) 'お
WScript.Echo(right(str1,2)) 'あい
leftは左から切り出します。
midの3つめの引数は文字数です。
rightは右から切り出します。
文字を検索し位置を返す(InStr/InStrRev)
str = "abcあいうabc"
WScript.Echo(InStr(str,"い")) '5と出力される
WScript.Echo(InStr(str,"b")) '2と出力される
WScript.Echo(InStr(str,"abc")) '1と出力される
WScript.Echo(InStr(str,"か")) '0と出力される
WScript.Echo(InStrRev(str,"b")) '8と出力される
WScript.Echo(InStrRev(str,"か")) '0と出力される
InStrhは、先頭から文字を検索します。
InStrRevは、末尾から文字を検索します。
対象の文字列がない場合は0が返ります。
文字数を取得する(Len)
str1 = "あいうabc"
WScript.Echo(Len(str1)) '6と出力される
str2 = ""
WScript.Echo(Len(str2)) '0と出力される
空文字のときは0が返ります。
文字列の先頭と末尾の空白を削除する(Trim)
str1 = " ABCabc "
WScript.Echo(Trim(str1)) '前後の半角空白を削除
WScript.Echo(LTrim(str1)) '先頭の半角空白を削除
WScript.Echo(RTrim(str1)) '末尾の半角空白を削除
Trimは文字列の前後の空白を削除します。
LTrimは先頭、RTrimは末尾の空白を削除します。
文字列を置き換える(Replace)
Replace(対象の文字列,置換前の文字列,置換後の文字列[,検索開始位置,置換する文字数] |
文字列を置き換えるサンプルです。
str1 = "赤黄青黄"
WScript.Echo(Replace(str1,"黄","オレンジ")) '赤オレンジ青オレンジ
WScript.Echo(Replace(str1,"黄","オレンジ",1,1)) '赤オレンジ青黄
引数が3つの時は、対象の文字列をすべて置き換えます。
Replaceの4つめの引数は検索開始位置で、5つめの引数は置き換える文字数です。
文字列を分割して配列にする(Split)
str1 = "赤,黄,青"
arr = Split(str1,",")
WScript.Echo arr(0) '赤
WScript.Echo arr(1) '黄
WScript.Echo arr(2) '青
Splitメソッドで文字列をカンマ区切りで配列にしています。
数値と文字列の変換(CStr/CInt)
num1 = 12345
WScript.Echo(TypeName(num1)) 'Integer
str1 = CStr(num1)
WScript.Echo(TypeName(str1)) 'String
num2 = CInt(str1)
WScript.Echo(TypeName(num2)) 'Integer
CStrは、String型にします。 CIntは、数値型にします。
英字の大文字と小文字を変換(UCase/LCase)
str1 = "ABCabcあいう"
WScript.Echo(UCase(str1)) 'ABCABCあいう
WScript.Echo(LCase(str1)) 'abcabcあいう
UCaseメソッドで英字の小文字を大文字にしています。
LCaseメソッドで英字の大文字を小文字にしています。
全角文字(あいう)は変わっていません。
日時の表示形式を指定(FormatDateTime)
WScript.Echo(Now) '2022/05/22 12:18:39
WScript.Echo(FormatDateTime(Now,vbLongDate)) '2021年5月22日
WScript.Echo(FormatDateTime(Now,vbShortDate)) '2021/05/22
WScript.Echo(FormatDateTime(Now,vbLongTime)) '12:18:39
WScript.Echo(FormatDateTime(Now,vbShortTime)) '12:18
Nowは現在日時を取得します。
関連の記事
VBS if文のサンプル(VBScript)
VBS For文のサンプル(VBScript)
VBS 配列のサンプル(VBScript)