PowershellProgram学習

PowerShellで配列の値を文字列結合する

スポンサーラベル
Powershell

当サイトはアフィリエイト広告を利用しています。

PowerShellで配列として格納している値をひとつの文字列として結合する場合に利用する自作関数について紹介します。
表現として難しいですが、例えば以下のような配列があったとします。

$array[0] = "あああ"
$array[1] = "いいい"
$array[2] = ""
$array[3] = "ううう"

これらの配列の値を改行コードをつけながら結合します。
値が空の場合はスキップします。
結果としては以下になります。

あああ
いいい
ううう

使い方(例)

以下が実際の関数コードと使い方についての例となります。
配列内の値をソートしながら、改行コード(Windowsなので/r/n)を追加して結合してます。

私が使う場面としてはCSVファイルなどを読み込んだ際にデータが改行を含んでいて結合したい場合に使ってます。

function ExpandArray($array){
    $string=""
    foreach($elem in $array | Sort-Object) {
        if($elem){
            $string += $elem + "`r`n"
        }
    }
    return $string
}
$array = @("aaa","iii","","uuu")

Write-Host (ExpandArray $array)

実行した結果は以下となります。

改行コードを含んだこの値が一つの文字列変数に格納されます。空の要素はスキップされてます。

aaa
iii
uuu

PowerShellの学習におすすめの書籍

PowerShell を体系的に学ぶなら、PowerShell Core 以降のクロスプラットフォーム対応をふまえた解説書が分かりやすいです。Windows の自動化にとどまらず、macOS や Linux でも動く現在の PowerShell を、基礎から実務での使い方まで通して押さえられます。

PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説

今回は以上となります。

あわせて読みたい

コメント

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