VBScript の Mid 関数の変換

Windows PowerShell

定義: 文字列から指定された文字数の文字列を返します。

Mid

必要な文字が文字列の中にある場合もあります。オレオのクッキーでもおいしい部分は中にありますね。オレオの場合は外側のクッキーをはがして中のクリームを食べられます。文字列値の場合は Substring() メソッドを呼び出して中の文字列を取り出します。次の例では、文字列値を変数 $a に代入してから、SubString() メソッドを使用して文字列の一部を取得しています。さて、どの部分を取得するのでしょうか。それを調べるために、まず次の 2 つのコマンドを確認します。

$a="ABCDEFG"
$a = $a.substring(2,3)

Substring() に 2 と 3 という 2 つのパラメータを渡していることに注目してください。最初の 2 は、元の文字列のどの位置から文字列の取得を始めるかを指定しています。3 文字目から取り出すので、2 を渡しています。間違っているわけではありません。文字列の最初の文字の位置は 0 なので、この場合は 2 を渡します。つまり、2 番目の文字の位置は 1 で、この例で取り出そうとしている 3 番目の文字の位置は 2 となります。

一方、3 は取り出す文字の数を指定しています。つまり、この例では 2 の位置から 3 文字分を取り出そうとしています。

よく考えてみればとても単純です。

このコマンドを実行して $a の値をエコーバックすると、次の結果が得られます。

CDE

「VBScript から Windows PowerShell へ」ホーム ページに戻る