VBS 文字列を操作するサンプル(VBScript)

VBSの文字列を操作するサンプルです。

目次

結合する 文字列を結合する(+演算子/&演算子)
  配列の値を区切り文字を指定して繋げる(Join)
取得する 指定した位置の文字を取得する(left/mid/right)
  文字を検索し位置を返す(InStr/InStrRev)
  文字数を取得する(Len)
削除する 文字列の先頭と末尾の空白を削除する(Trim/LTrim/RTrim)
置き換える 文字列を置き換える(Replace)
分割する 文字列を分割して配列にする(Split)
変換する 数値と文字列の変換(CStr/CInt)
  英字の大文字と小文字を変換(UCase/LCase)
日時の表示 日時の表示形式を指定(FormatDateTime)

文字列を結合する(+演算子/&演算子)

'リテラル文字列を結合
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)

△上に戻る