0000000123 0003456789
左側をゼロ埋めして固定長の文字列にする方法
スポンサーリンク
左側をゼロ埋め(ゼロパディング)して固定長の文字列にするには、 -f を使用する方法と PadLeft を使用する方法があります。
-f を使用する方法
-f はカスタム数値書式指定文字列を使用して書式設定できます。左側をゼロ埋めして 10 桁の文字列を作成するサンプルコードと実行結果は次の通りです。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 | $int1 = 123 $int2 = 3456789 $str1 = "{0:0000000000}" -f $val1 # 文字埋め後の桁数だけ0を記述する $str2 = "{0:D10}" -f $val2 # Dの後ろにゼロ埋め後の桁数を記述する Write-Host $str1 #0000000123 Write-Host $str2 #0003456789 |
-f に文字列を渡すとゼロ埋めはされない為、注意が必要です。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 値が文字列だと -f ではゼロ埋めされない $val1 = '123' $val2 = '3456789' $str1 = "{0:0000000000}" -f $val1 $str2 = "{0:D10}" -f $val2 Write-Host $str1 #123 Write-Host $str2 #3456789 # [int]で数値型に変換すればゼロ埋めされる。 $str1 = "{0:0000000000}" -f [int]$val1 $str2 = "{0:D10}" -f [int]$val2 Write-Host $str1 #0000000123 Write-Host $str2 #0003456789 |
123 3456789 0000000123 0003456789
文字列をゼロ埋め(ゼロパディング)するには、後述する PadLeft を使用する方法があります。
PadLeft を使用する方法
PadLeft は第一引数に文字埋後の文字数を、第二引数に文字埋めする文字を指定します。サンプルコードと実行結果は次の通りです。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 値が文字列だと -f ではゼロ埋めされない $val1 = '123' $val2 = '3456789' $val3 = 'ABCDE' # PadLeftは第一引数に文字埋後の文字数を、第二引数に文字埋めする文字を指定する $str1 = $val1.PadLeft(10, '0') $str2 = $val2.PadLeft(10, '0') $str3 = $val3.PadLeft(10, '0') Write-Host $str1 #0000000123 Write-Host $str2 #0003456789 Write-Host $str3 #00000ABCDE |
0000000123 0003456789 00000ABCDE
スポンサーリンク
- 文字列
- 文字列を検索し最初に一致した場所を取得する方法
- 文字列を検索し最後に一致した場所を取得する方法
- 文字列を区切り文字で分割して配列にする方法
- 文字列の文字数をカウントする方法
- 文字列のバイト数をカウントする方法
- 文字列の中で変数を展開する方法
- 大文字・小文字を区別して文字列の一致を確認する方法
- 英語の大文字・小文字を切り替える方法
- 文字列を置換する方法
- 左側をゼロ埋めして固定長の文字列にする方法
- 文字列が空文字や NULL であるかを判定する方法
- 文字列の右側からN文字取り出す方法
- 文字列の左側からN文字取り出す方法
- 文字列の一部を取り出す方法
- 文字列の両端の全角スペース/半角スペースを削除する
- ヒアドキュメントを使って複数行を 1 つの文字列にする
- 文字列が特定の文字列で始まるかを調べる
- タブや改行を文字列値に含める方法
- バッククオテーション ( ` ) を文字列値に含める方法
- シングルクオテーション ( ' ) を文字列値に含める方法
- ダブルクオテーション ( " ) を文字列値に含める方法