PowerShell: 文字列のパディング(左寄せ、右寄せ)
PowerShellで文字列を右寄せや左寄せなどの
パディング(一定の長さに整形)を行う方法を紹介します。
右寄せにしたい場合はPadLeftメソッド、
左寄せにしたい場合はPadRightメソッドを利用します。
「Pad」はPaddingの略で、
どちらも.NET Framework Stringクラスのメソッドです。
PadLeft: 右寄せ(左側に空白や文字を埋め込む)
PadLeftメソッドは文字列の左側に空白や文字を埋め込むことで、 文字列を右寄せにできます。書式は次の通りです。
書式
文字列.PadLeft(全体文字数 [, 埋め込む文字])
第1引数に全体の文字数を指定し、 第2引数に埋め込む文字を指定します。 埋め込む文字を省略した場合は「空白」を埋め込みます。
次のサンプルコードでは、 PadLeftメソッドを使って文字列を右寄せにしています。 三番目の$cは埋め込む文字として「_」アンダースコアを 指定しています。
$a = "abc" $b = "abcde" $c = "abcdefgh" $a.PadLeft(10) $b.PadLeft(10) $c.PadLeft(10, "_") # 実行結果 abc abcde __abcdefgh
PadRight: 左寄せ(右側に空白や文字を埋め込む)
PadRightメソッドは文字列の右側に空白や文字を埋め込むことで、 文字列を左寄せにできます。書式は次の通りです。
書式
文字列.PadRight(全体文字数 [, 埋め込む文字])
第1引数に全体の文字数を指定し、 第2引数に埋め込む文字を指定します。 埋め込む文字を省略した場合は「空白」を埋め込みます。
次のサンプルコードでは、 PadRightメソッドを使って文字列を左寄せにしています。 1番目の$aは、見た目ではわかりにくいですが右側に空白が埋め込まれています。 2番目は「*」、3番目は「_」を指定しています。
$a = "abc" $b = "abcde" $c = "abcdefgh" $a.PadRight(10) $b.PadRight(10, "*") $c.PadRight(10, "_") # 実行結果 abc abcde***** abcdefgh__