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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow