文字列を結合する - PowerShell
PowerShellで文字列を連結して結合するコードを紹介します。
概要
PowerShellのスクリプト内で文字列を結合したい場合があります。この記事では、
+
演算子を用いる方法と
-Join
演算子を用いる方法での文字列の結合コードを紹介します。
書式
-Join 演算子
2つの文字列を結合する場合には以下の書式を利用します。
文字列は複数与えることができます。
-Join ("文字列1", "文字列2", ... "文字列n")
文字列には変数を与えることもできます。
また、リスト変数を与えた場合は、リストの各要素を結合します。
区切り文字を追加する場合
文字列結合の際に文字列と文字列の間に区切り文字を追加する場合は、次の書式が利用できます。
"文字列1", "文字列2", ... "文字列n" -Join "区切り文字"
+ 演算子
文字列には変数を与えることもできます。
同一の変数に文字列を足しこむ
同一の変数に文字列を足しこむ場合には以下の書式が利用できます。
上記の記述は下記の記述と同様です。
例
例1: -Join演算子を利用したサンプル
コード
下記のPowerShellスクリプトを作成します。
$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スクリプトを作成します。
$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スクリプトを作成します。
$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