PowerShell
Zeichenketten
Suche…
Syntax
"(Doppelte Anführungszeichen) Zeichenfolge"
'Wörtliche Zeichenfolge'
@ "
Here-String
"@@ '
Wörtliche Here-Zeichenfolge
'@
Bemerkungen
Strings sind Objekte, die Text darstellen.
Erstellen einer Basiszeichenfolge
String
Zeichenfolgen werden erstellt, indem der Text in doppelte Anführungszeichen gesetzt wird. Strings in doppelten Anführungszeichen können Variablen und Sonderzeichen auswerten.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
Um ein doppeltes Anführungszeichen in einer Zeichenfolge zu verwenden, muss es mit dem Escape-Zeichen, backtick ( `
), maskiert werden. Einzelne Anführungszeichen können innerhalb einer doppelten Anführungszeichenfolge verwendet werden.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Wörtliche Zeichenfolge
Literalzeichenfolgen sind Zeichenfolgen, die keine Variablen und Sonderzeichen auswerten. Es wird mit einfachen Anführungszeichen erstellt.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Verwenden Sie doppelte einfache Anführungszeichen oder eine Literal-Here-Zeichenfolge, um einfache Anführungszeichen innerhalb einer Literal-Zeichenfolge zu verwenden. Doppelte Qutos können sicher innerhalb einer Zeichenfolge verwendet werden
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Zeichenfolge formatieren
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Formatzeichenfolgen können mit dem Operator -f
oder der statischen .NET-Methode [String]::Format(string format, args)
verwendet werden.
Mehrzeilige Zeichenfolge
Es gibt mehrere Möglichkeiten, eine mehrzeilige Zeichenfolge in PowerShell zu erstellen:
Sie können die Sonderzeichen für Wagenrücklauf und / oder Zeilenvorschub manuell verwenden oder die
NewLine
-environment-Variable verwenden, um den Systemwert "Newline" einzufügen."Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Erstellen Sie einen Zeilenumbruch beim Definieren einer Zeichenfolge (vor dem Schließen des Zitats)
"Hello World"
Verwenden Sie hier eine Zeichenfolge. Dies ist die gebräuchlichste Technik.
@" Hello World "@
Here-String
Here-Strings sind sehr nützlich, wenn Sie mehrzeilige Strings erstellen. Einer der größten Vorteile im Vergleich zu anderen mehrzeiligen Zeichenketten besteht darin, dass Sie Anführungszeichen verwenden können, ohne sie mit einem Backtick zu schützen.
Here-String
Here-Strings beginnen mit @"
und einem Zeilenumbruch und enden mit "@
in der eigenen Zeile ( "@
muss die ersten Zeichen in der Zeile sein, nicht einmal Leerzeichen / Tabulator ).
@"
Simple
Multiline string
with "quotes"
"@
Wörtliche Here-Zeichenfolge
Sie können auch einen Literal-Here-String mit einfachen Anführungszeichen erstellen, wenn Sie nicht möchten, dass Ausdrücke wie ein normaler Literal-String erweitert werden.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Zeichenketten verketten
Verwenden von Variablen in einer Zeichenfolge
Sie können Zeichenfolgen mithilfe von Variablen in doppelten Anführungszeichenfolgen verketten. Dies funktioniert nicht mit Eigenschaften.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Verwenden Sie den Operator +
Sie können Zeichenfolgen auch mit dem Operator +
verknüpfen.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Dies funktioniert auch mit Eigenschaften von Objekten.
"The title of this console is '" + $host.Name + "'"
Unterausdrücke verwenden
Die Ausgabe / das Ergebnis eines Unterausdrucks $()
kann in einer Zeichenfolge verwendet werden. Dies ist nützlich, wenn Sie auf Eigenschaften eines Objekts zugreifen oder einen komplexen Ausdruck ausführen möchten. Unterausdrücke können mehrere durch Semikolon getrennte Anweisungen enthalten ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Spezielle Charaktere
Bei Verwendung in einer Zeichenfolge mit doppelten Anführungszeichen stellt das Escape-Zeichen (backtick `
) ein Sonderzeichen dar.
`0 #Null
`a #Alert/Beep
`b #Backspace
`f #Form feed (used for printer output)
`n #New line
`r #Carriage return
`t #Horizontal tab
`v #Vertical tab (used for printer output)
Beispiel:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
Sie können auch Sonderzeichen mit speziellen Bedeutungen umgehen:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote