PowerShell で文字列を連結する
-
PowerShell で
+
演算子を使用して文字列を連結する - PowerShell でセパレータを使用して文字列を連結する
- PowerShell での文字列と整数の連結
- PowerShell で文字列置換を使用して文字列を連結する
-
PowerShell で
-f
演算子を使用して文字列を連結する -
PowerShell で
-join
演算子を使用して文字列を連結する -
PowerShell で文字列ビルダーと
append()
関数を使用して文字列を連結する -
PowerShell で
concat()
関数を使用して文字列を連結する
PowerShell では、複数の方法で文字列の連結を実現します。ただし、PowerShell には独自の concat()
関数が組み込まれていますが(これについては後で説明します)、さまざまな文字列変数を結合するためのより簡単な方法があります。
すべての文字列連結メソッドを列挙する前に、例として使用するいくつかの文字列変数を宣言することをお勧めします。
$str1 = "First"
$str2 = "Second"
$str3 = "Third"
以下は、PowerShell で文字列を連結するためのすべての可能なメソッドです。
PowerShell で+
演算子を使用して文字列を連結する
文字列を連結する最も基本的な方法は、+
演算子を使用することです。連結は、両方の変数が文字列変数である場合にのみ、+
演算子で機能します。+
演算子が 2つ以上の整数型変数で使用されている場合、スクリプトは式を数学的に処理します。
コード例:
$concatString = $str1 + $str2 + $str3
Write-Output $concatString
出力:
FirstSecondThird
PowerShell でセパレータを使用して文字列を連結する
文字列を連結するために使用する必要があるのは+
演算子だけでなく、コンマ(,
)のような区切り文字も使用できます。文字列変数を二重引用符""
で囲むことを忘れないでください。そうしないと、変数は分離された文字列値をリストプロパティとして解釈します。
コード例:
$concatString = "$str1 , $str2 , $str3"
Write-Output $concatString
出力:
First , Second , Third
また、これはコンマでのみ機能するわけではないことを忘れないでください。文字列の貴重品を二重引用符で囲むと、文字列変数がリテラル式になります。WYSIWYG(あなたが見るものはあなたが得るものです。)
コード例:
$concatString = "Who came in $str1 , $str2 , and $str3 Place?"
Write-Output $concatString
出力:
Who came in First , Second, and Third Place?
PowerShell での文字列と整数の連結
文字列を整数で連結しようとすると、無効な型エラーが発生します。以下の例では、新しい変数 $concatString
は、データ型として $int1
変数の型を取ります。これは整数です。これは、$int1
が式 $int1 + $str1
で最初に呼び出されるために発生します。
コード例:
$int1 = 0
$concatString = $int1 + $str1 #int variable before string variable
Write-Output $concatString
出力:
Cannot convert value "First" to type "System.Int32". Error: "Input string was not in a correct format."
At line:3 char:1
+ $concatString = $int1 + $str1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastFromStringToInteger
文字列変数 $str1
を式の最初に配置すると、連結が成功し、$int1
が自動的に文字列値に変換されます。
コード例:
$int1 = 0
$concatString = $str1 + $int1 #str variable before int variable
Write-Output $concatString
出力:
First0
PowerShell で文字列置換を使用して文字列を連結する
または、文字列置換を使用して別の連結方法を実行することもできます。このメソッドは、さまざまなデータ型の文字列を連結する場合にも機能します。
コード例:
$int1 = 0
$concatString = "$($int1) , $($str2)"
Write-Output $concatString
出力:
0 , Second
PowerShell で -f
演算子を使用して文字列を連結する
文字列を連結する別の方法は、-f
演算子を使用することです。-f
演算子は、事前に作成された文字列値の引数として文字列変数を渡すことを利用します。
コード例:
$concatString = "{0}.{1}.{2}." -f $str1,$str2,$str3
Write-Output $concatString
出力:
First.Second.Third
PowerShell で -join
演算子を使用して文字列を連結する
-join
演算子は、パラメーターとして文字列区切り文字を渡す必要があるため、区切り文字と同様に機能します。
コード例:
$concatString = $str1,$str2,$str3 -join "!"
Write-Output $concatString
出力:
First!Second!Third
PowerShell で文字列ビルダーと append()
関数を使用して文字列を連結する
このプロセスを開始するには、別のオブジェクトタイプ System.Text.StringBuilder
を呼び出す必要があるため、文字列ビルダーは文字列を連結する複雑な方法の 1つです。次に、オブジェクトは append()
関数を使用して文字列を連結し、ToString()
関数を使用して新しいオブジェクトを文字列値に変換し直します。
コード例:
$concatString = New-Object -TypeName System.Text.StringBuilder
$null = $concatString.Append($str1)
$null = $concatString.Append($str2)
$null = $concatString.Append($str3)
$concatString = $concatString.ToString()
Write-Output $concatString
出力:
FirstSecondThird
PowerShell で concat()
関数を使用して文字列を連結する
最後に、PowerShell 独自の concat()
関数があります。
コード例:
$concatString = [System.String]::Concat($str1,".",$str2,".",$str3)
Write-Output $concatString
出力:
First.Second.Third
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn