【PowerShell】文字数を指定して文字列を取得する方法


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

PowerShellで、変数に格納された文字列から文字数を指定して取得する方法を解説します。
また、Excelなどの「Left, Right, Mid」関数のように取得する方法もご紹介します。

はじめに

PowerShellでは、文字数を指定して文字列を取得するのに便利な「Substring」メソッドがあります。
今回は、この Substringメソッドの使用方法を説明していきたいと思います。

書式

Substringメソッドの書式です。

n文字目より後ろの文字列を取得する

n文字目より後ろの文字列を全て取得する場合の書式です。

$変数.Substring(n);

n文字目より後ろのm文字取得する

n文字目より後ろのm文字分の文字列を取得する場合の書式です。

$変数.Substring(n, m);

末尾からn文字取得する

文字列の末尾から、n文字の文字列を取得する場合の書式です。

$変数.Substring($変数.Length -n, n);

サンプルと実行結果

サンプルと実行結果です。

5文字目より後ろの文字列を取得

サンプル
$num = '123456789'
Write-Host $num.Substring(5)
pause
実行結果
6789
続行するには、Enter キーを押してください...:

3文字目より後ろの4文字を取得

サンプル
$num = '123456789'
Write-Host $num.Substring(3, 4)
pause
実行結果
4567
続行するには、Enter キーを押してください...:

文字列の末尾から5文字取得

$num = '123456789'
Write-Host $num.Substring($num.Length -5, 5)
pause
56789
続行するには、Enter キーを押してください...:

Left関数のように取得

ExcelやVBScriptの「Left」関数のように取得するサンプルです。
取得開始位置を[0]とすることで、文字列の先頭から指定した文字数で文字列を取得しています。

$num = '123456789'
Write-Host $num.Substring(0, 5)
pause
12345
続行するには、Enter キーを押してください...:

Right関数のように取得

ExcelやVBScriptの「Right」関数のように取得するサンプルです。
例では、取得開始位置を末尾から[3]文字目とし、そこから[3]文字取得することで、文字列の末尾から指定した文字数で文字列を取得しています。

$num = '123456789'
Write-Host $num.Substring($num.Length -3, 3)
pause
789
続行するには、Enter キーを押してください...:

Mid関数のように取得

ExcelやVBScriptの「Mid」関数のように取得するサンプルです。
例では、取得開始位置が[3]文字目で、そこから[5]文字取得することで、指定した文字数で中間の文字列を取得しています。

$num = '123456789'
Write-Host $num.Substring(3, 5)
pause
45678
続行するには、Enter キーを押してください...:

コメント

タイトルとURLをコピーしました