Strings verketten in PowerShell

  1. Verwenden des Operators + zum Verketten von Strings in PowerShell
  2. Verwenden von Trennzeichen zum Verketten von Zeichenketten in PowerShell
  3. Verketten von Strings mit ganzen Zahlen in PowerShell
  4. String-Substitution zur Verkettung von Strings in PowerShell verwenden
  5. Verwenden des Operators -f zum Verketten von Strings in PowerShell
  6. Verwenden des Operators -join zum Verketten von Strings in PowerShell
  7. Verwenden des String Builder und der Funktion append() zum Verketten von Strings in PowerShell
  8. Verwenden der Funktion concat() zum Verketten von Strings in PowerShell
Strings verketten in PowerShell

In PowerShell erreichen wir die Verkettung von Zeichenketten auf verschiedene Weise; Obwohl PowerShell jedoch über eine eigene eingebaute Funktion concat() verfügt (auf die wir später noch eingehen werden), gibt es einfachere Möglichkeiten, verschiedene String-Variablen zu verknüpfen.

Bevor wir alle Methoden zur String-Verkettung aufzählen, ist es besser, einige String-Variablen zu deklarieren, die wir als Beispiele verwenden.

$str1 = "First"
$str2 = "Second"
$str3 = "Third"

Im Folgenden finden Sie alle möglichen Methoden zum Verketten Ihrer Zeichenketten in PowerShell.

Verwenden des Operators + zum Verketten von Strings in PowerShell

Die einfachste Methode zum Verketten von Zeichenketten ist die Verwendung des Operators +. Die Verkettung funktioniert nur mit dem +-Operator, wenn beide Variablen String-Variablen sind. Das Skript verarbeitet den Ausdruck mathematisch, wenn der Operator + für zwei oder mehr Variablen vom Typ Integer verwendet wird.

Beispielcode:

$concatString = $str1 + $str2 + $str3
Write-Output $concatString

Ausgabe:

FirstSecondThird

Verwenden von Trennzeichen zum Verketten von Zeichenketten in PowerShell

Wir müssen nicht nur den Operator + verwenden, um Strings zu verketten, sondern wir können auch Trennzeichen wie Kommas (,) verwenden. Denken Sie daran, Ihre String-Variablen in doppelte Anführungszeichen "" zu setzen, sonst interpretiert die Variable Ihre getrennten String-Werte als Listeneigenschaft.

Beispielcode:

$concatString = "$str1 , $str2 , $str3"
Write-Output $concatString

Ausgabe:

First , Second , Third

Denken Sie auch daran, dass dies nicht nur mit Kommas funktioniert. Wenn Sie Ihre String-Wertsachen in doppelte Anführungszeichen setzen, wird Ihre String-Variable zu einem wörtlichen Ausdruck. WYSIWYG (Was Sie sehen, ist das, was Sie bekommen.)

Beispielcode:

$concatString = "Who came in $str1 , $str2 , and $str3 Place?"
Write-Output $concatString

Ausgabe:

Who came in First , Second, and Third Place?

Verketten von Strings mit ganzen Zahlen in PowerShell

Wenn wir versuchen, Strings mit Integern zu verketten, tritt ein ungültiger Typfehler auf. Im folgenden Beispiel nimmt die neue Variable $concatString den Typ der Variablen $int1 als Datentyp an, bei dem es sich um eine Ganzzahl handelt. Dies geschieht, weil $int1 zuerst im Ausdruck $int1 + $str1 aufgerufen wird.

Beispielcode:

$int1 = 0
$concatString = $int1 + $str1 #int variable before string variable
Write-Output $concatString

Ausgabe:

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

Wenn wir die String-Variable $str1 nehmen und an erster Stelle auf den Ausdruck setzen, ist die Verkettung erfolgreich und $int1 wird automatisch in einen String-Wert umgewandelt.

Beispielcode:

$int1 = 0
$concatString = $str1 + $int1 #str variable before int variable
Write-Output $concatString

Ausgabe:

First0

String-Substitution zur Verkettung von Strings in PowerShell verwenden

Alternativ können wir eine andere Art der Verkettung mit String-Ersetzung durchführen. Diese Methode funktioniert auch beim Verketten von Zeichenketten mit unterschiedlichen Datentypen.

Beispielcode:

$int1 = 0
$concatString = "$($int1) , $($str2)"
Write-Output $concatString

Ausgabe:

0 , Second

Verwenden des Operators -f zum Verketten von Strings in PowerShell

Eine andere Möglichkeit, Zeichenketten zu verketten, besteht darin, den Operator -f zu verwenden. Der Operator -f verwendet die Übergabe von String-Variablen als Argumente für einen vordefinierten String-Wert.

Beispielcode:

$concatString = "{0}.{1}.{2}." -f $str1,$str2,$str3
Write-Output $concatString

Ausgabe:

First.Second.Third

Verwenden des Operators -join zum Verketten von Strings in PowerShell

Die Operatoren -join verhalten sich ähnlich wie bei Trennzeichen, da wir als Parameter ein Zeichenkettentrennzeichen übergeben müssen.

Beispielcode:

$concatString = $str1,$str2,$str3 -join "!"
Write-Output $concatString

Ausgabe:

First!Second!Third

Verwenden des String Builder und der Funktion append() zum Verketten von Strings in PowerShell

Der String-Builder ist eine der komplexen Möglichkeiten, Strings zu verketten, da wir einen separaten Objekttyp System.Text.StringBuilder aufrufen müssen, um diesen Prozess zu initiieren. Das Objekt verwendet dann die Funktion append(), um die Strings zu verketten und wandelt dann das neue Objekt mit der Funktion ToString() wieder in einen String-Wert um.

Beispielcode:

$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

Ausgabe:

FirstSecondThird

Verwenden der Funktion concat() zum Verketten von Strings in PowerShell

Schließlich haben wir PowerShells eigene Funktion concat().

Beispielcode:

$concatString = [System.String]::Concat($str1,".",$str2,".",$str3)
Write-Output $concatString

Ausgabe:

First.Second.Third
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - PowerShell String