文字列を結合する - PowerShell

PowerShellで文字列を連結して結合するコードを紹介します。

概要

PowerShellのスクリプト内で文字列を結合したい場合があります。この記事では、+演算子を用いる方法と-Join演算子を用いる方法での文字列の結合コードを紹介します。

書式

-Join 演算子

2つの文字列を結合する場合には以下の書式を利用します。
-Join ("文字列1",  "文字列2")

文字列は複数与えることができます。
-Join ("文字列1",  "文字列2", ... "文字列n")

文字列には変数を与えることもできます。
また、リスト変数を与えた場合は、リストの各要素を結合します。

区切り文字を追加する場合

文字列結合の際に文字列と文字列の間に区切り文字を追加する場合は、次の書式が利用できます。
"文字列1",  "文字列2", ... "文字列n" -Join "区切り文字"

+ 演算子

"文字列1" + "文字列2"

文字列には変数を与えることもできます。

同一の変数に文字列を足しこむ

同一の変数に文字列を足しこむ場合には以下の書式が利用できます。
文字列変数1 += 文字列変数2

上記の記述は下記の記述と同様です。
文字列変数1 = 文字列変数1 + 文字列変数2

例1: -Join演算子を利用したサンプル

コード

下記のPowerShellスクリプトを作成します。
StringJoinJoin.ps1
$string1 = "ペンギン"
$string2 = "くじら"
$string3 = "White Bear"

$joinstr1 = -Join ($string1, $string2)
Write-Output $joinstr1

$joinstr2 = -Join ($string1, $string2, $string3)
Write-Output $joinstr2

$joinstr2 = $string1, $string2, $string3 -Join "と"
Write-Output $joinstr2

解説

-Join演算子で2つの文字列を結合するコードです。
$joinstr1 = -Join ($string1, $string2)
Write-Output $joinstr1

-Join演算子で3つの文字列を結合するコードです。
$joinstr2 = -Join ($string1, $string2, $string3)
Write-Output $joinstr2

区切り文字を使用して3つの文字列を結合するコードです。文字列の間に「と」の文字を追加します。
$joinstr2 = $string1, $string2, $string3 -Join "と"
Write-Output $joinstr2

実行結果

スクリプトを実行します。結果が表示されます。文字列が結合されていることが確認できます。 区切り文字の結合も正しく実行されています。

例2: +演算子を利用したサンプル

コード

下記のPowerShellスクリプトを作成します。
StringJoin.ps1
$string1 = "ペンギン"
$string2 = "くじら"
$string3 = "White Bear"

$joinstr1 = $string1 + $string2
Write-Output $joinstr1

$joinstr2 = $string1 + $string2 + $string3
Write-Output $joinstr2

$joinstr3 = $string1
$joinstr3 += $string2
$joinstr3 += $string3
Write-Output $joinstr3 

解説

下記のコードは2つの文字列変数の結合結果を画面に表示します。
$joinstr1 = $string1 + $string2
Write-Output $joinstr1

下記のコードは3つの文字列変数の結合結果を画面に表示します。
$joinstr2 = $string1 + $string2 + $string3
Write-Output $joinstr2

こちらのコードは文字列変数に足しこんでいくコードです。先の3つの文字列変数の結合結果と同じになります。
$joinstr3 = $string1
$joinstr3 += $string2
$joinstr3 += $string3
Write-Output $joinstr3 

実行結果

スクリプトを実行します。結果が表示されます。文字列が結合されていることが確認できます。

例3: リスト(配列)を結合するサンプル

コード

下記のPowerShellスクリプトを作成します。
StringJoinList.ps1
$string1 = "ぺんぎんクッキー", "らくだキャラメル", "しろくまアイス", "かるがもサブレ"
$string2 = "あるぱかカステラ", "しまうまバウムクーヘン", "かんがるータルト", "しろさい大福"

$joinstr1 = -Join $string1
Write-Output $joinstr1

$joinstr2 = $string2 -Join ":"
Write-Output $joinstr2

解説

リストの各要素の文字列を結合します。
$joinstr1 = -Join $string1
Write-Output $joinstr1
リストの各要素の文字列を結合します。各要素を":"で区切り結合します。
$joinstr2 = $string2 -Join ":"
Write-Output $joinstr2

実行結果

スクリプトを実行します。結果が表示されます。文字列が結合されていることが確認できます。


補足
$string1 $string2 が配列(リスト)の場合、以下の書式では2つの配列の要素の値が出力される動作にはなりません。 先に配列を結合する必要があります。配列の結合についてはこちらの記事を参照してください。
$joinstr =  -Join ($string1, $string2)
$joinstr =  $string1, $string2 -Join "-"
PowerShellで文字列の結合処理を実装できました。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
掲載日: 2013-09-25
改訂日: 2024-05-02
iPentec all rights reserverd.