PowerShell,文字列を左詰めでパディングして固定長にする

スポンサーリンク

鍛錬 616

PowerShell,文字列を左詰めでパディングして固定長にする

文字列を左詰めでパディングして固定長にするには、.NETオブジェクトにおける String クラスのインスタンスメソッド、 PadRight を使用します。

パディングの際に埋め込む文字として、半角スペースや指定した文字を埋め込むことができます。(埋め込む文字に 0 を指定した場合、ゼロパディングも可能です。)
 
使用方法は、以下に示す通りです。

「半角スペース」でパディングする場合

左詰めにする文字列.PadRight(全体の文字数)

 
「指定した文字」でパディングする場合

左詰めにする文字列.PadRight(全体の文字数,パディングする文字)

引数

以下は、上記の引数についてです。

引数
全体の文字数 Int32
パディングする文字 Char

戻り値

以下は、戻り値についてです。

戻り値
パディング後の文字列 String
スポンサーリンク

スクリプト

以下は、文字列を左詰めでパディングするスクリプト、left_pad.ps1 です。

今回は、文字列 XXX を全体が10文字となるように、半角スペースと0(ゼロ)を使用して、左詰めでパディングしています。

左詰めにする文字列 全体の文字数
XXX 10
1回目のパディングで使用する文字 2回目のパディングで使用する文字
半角スペース 0
# 変数初期化
[System.String]$str = $null
[System.String]$tmp = $null
[System.Char]$pad_char = $null
[System.Int32]$pad_total = 0

# 文字列を格納
$str = "XXX"

# 全体の文字数を指定
$pad_total = 10

# パディングに使用する文字を格納
$pad_char = "0"

echo "パディング前 = [$str]"

# 1回目の左詰めパディング(半角スペースでパディング)
$tmp = $str.PadRight($pad_total)
echo "パディング後(1回目) = [$tmp]"

# 2回目の左詰めパディング(0でパディング)
$tmp = $str.PadRight($pad_total,$pad_char)
echo "パディング後(2回目) = [$tmp]"
スポンサーリンク

実行結果

以下は、スクリプト left_pad.ps1 を実行しています。

PS D:\tmp>
PS D:\tmp> .\left_pad.ps1
パディング前 = [XXX]
パディング後(1回目) = [XXX       ]
パディング後(2回目) = [XXX0000000]

 
上記に示した通り、半角スペースまたは0を使用して、文字列を左詰めでパディングすることができました。

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