VBScript から Windows PowerShell へ

VBScript の InStrRev 関数の変換


Windows PowerShell


定義: ある文字列内で、特定の文字列が最後に出現する位置を返します。

*

InStrRev

把握している限りでは、InStrRev 関数の使用例を見たことがありません。使用したことがある人がいても、認めようとしないでしょう。InStrRev は、ある文字列値を調べて、特定の文字列が最後に出現する位置を求めるという機能を持っています。

必要はないかもしれませんが、例を紹介します。文字列値 "1234x6789x1234" に対して InStrRev を実行し、検索対象の文字列として "x" を指定するとします。その場合、最後の "x" が親文字列内の 10 番目に出現するため、InStrRev は 10 を返します。

よろしいでしょうか。では、Windows PowerShell で同じことを実行するにはどのようにするのでしょうか。簡単です。LastIndexOfAny メソッドを使用して、次のように指定します。

$a = "1234x6789x1234"
$b = $a.lastindexofany("x")

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

9

間違いではありません。.NET では、文字列内の先頭文字の位置が 0 とみなされるため、10 番目の文字 (この例で注目している文字) の位置は 9になります。Windows PowerShell で文字列を操作するときは常に、この点に注意してください。


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


ページのトップへページのトップへ