Strings verketten in PowerShell
-
Verwenden des Operators
+
zum Verketten von Strings in PowerShell - Verwenden von Trennzeichen zum Verketten von Zeichenketten in PowerShell
- Verketten von Strings mit ganzen Zahlen in PowerShell
- String-Substitution zur Verkettung von Strings in PowerShell verwenden
-
Verwenden des Operators
-f
zum Verketten von Strings in PowerShell -
Verwenden des Operators
-join
zum Verketten von Strings in PowerShell -
Verwenden des String Builder und der Funktion
append()
zum Verketten von Strings in PowerShell -
Verwenden der Funktion
concat()
zum Verketten von Strings 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInVerwandter Artikel - PowerShell String
- Überprüfen Sie, ob ein String in PowerShell nicht NULL oder LEER ist
- Überprüfen Sie, ob eine Zeichenfolge in PowerShell leer ist
- Auswählen mehrerer Muster in einer Zeichenfolge mithilfe von PowerShell
- Entfernen Sie Leerzeichen aus einer Variablen mit PowerShell
- Ersetzen von Zeichenfolgen in PowerShell
- Extrahieren einer Teilzeichenfolge in PowerShell