56789 6789 789 89 9
文字列の右側からN文字取り出す方法
スポンサーリンク
Powershell では Right メソッドは無い為、 Substring メソッドを使用して右側から指定した文字数を取り出します。
半角文字列の右側からN文字取り出す
サンプルコードは次の通りです。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 10文字の文字列を作成 $str = '0123456789'; # 右から5文字取得 56789 Write-Host $str.Substring($str.Length - 5, 5); # 右から4文字取得 6789 Write-Host $str.Substring($str.Length - 4, 4); # 右から3文字取得 789 Write-Host $str.Substring($str.Length - 3, 3); # 右から2文字取得 89 Write-Host $str.Substring($str.Length - 2, 2); # 右から1文字取得 9 Write-Host $str.Substring($str.Length - 1, 1); |
$str.Length は文字列の長さ(上記サンプルでは 10)を返しますので、そこから取り出したい文字数をマイナスすることで開始位置を求めています。
実行結果は次の通りです。
全角文字列の右側からN文字取り出す
PowerShell の Substring は文字列の長さはバイト数ではなく文字数での指定になります。その為、全角の場合も引数で指定した数だけ文字を取り出します。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 | # 5文字の文字列を作成 $str ='一二三四五'; # 右から3文字取得 三四五 Write-Host $str.Substring($str.Length - 3, 3); # 右から2文字取得 四五 Write-Host $str.Substring($str.Length - 2, 2); # 右から1文字取得 五 Write-Host $str.Substring($str.Length - 1, 1); |
上記の実行結果は次の通りです。
三四五 四五 五
全角文字と半角文字混合の文字列の場合
Substring はバイト数ではなく文字数での指定になります。サンプルコードは次の通りです。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 | # 5文字の文字列を作成 $str ='1二3四5'; # 右から3文字取得 3四5 Write-Host $str.Substring($str.Length - 3, 3); # 右から2文字取得 四5 Write-Host $str.Substring($str.Length - 2, 2); # 右から1文字取得 5 Write-Host $str.Substring($str.Length - 1, 1); |
上記の実行結果は次の通りです。
3四5 四5 5
数値の右側からN文字取り出す
数値の場合、Substring メソッドは使用できないので、 ToString で文字列に変換した後 Substring を使用します。
PowerShell(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 | # 5桁の数字を作成 $int = 12345; # 右から3文字取得 345 Write-Host $int.ToString().Substring($int.ToString().Length - 3, 3); # 右から2文字取得 45 Write-Host $int.ToString().Substring($int.ToString().Length - 2, 2); # 右から1文字取得 5 Write-Host $int.ToString().Substring($int.ToString().Length - 1, 1); |
上記の実行結果は次の通りです。
345 45 5
スポンサーリンク
- 文字列
- 文字列を検索し最初に一致した場所を取得する方法
- 文字列を検索し最後に一致した場所を取得する方法
- 文字列を区切り文字で分割して配列にする方法
- 文字列の文字数をカウントする方法
- 文字列のバイト数をカウントする方法
- 文字列の中で変数を展開する方法
- 大文字・小文字を区別して文字列の一致を確認する方法
- 英語の大文字・小文字を切り替える方法
- 文字列を置換する方法
- 左側をゼロ埋めして固定長の文字列にする方法
- 文字列が空文字や NULL であるかを判定する方法
- 文字列の右側からN文字取り出す方法
- 文字列の左側からN文字取り出す方法
- 文字列の一部を取り出す方法
- 文字列の両端の全角スペース/半角スペースを削除する
- ヒアドキュメントを使って複数行を 1 つの文字列にする
- 文字列が特定の文字列で始まるかを調べる
- タブや改行を文字列値に含める方法
- バッククオテーション ( ` ) を文字列値に含める方法
- シングルクオテーション ( ' ) を文字列値に含める方法
- ダブルクオテーション ( " ) を文字列値に含める方法