Ricerca…


Sintassi

  • Stringa "(quotata doppia)"

  • 'Stringa letterale'

  • @"
    Qui-string
    "@

  • @'
    Stringa qui letterale
    '@

Osservazioni

Le stringhe sono oggetti che rappresentano il testo.

Creare una stringa di base

Stringa

Le stringhe vengono create avvolgendo il testo con virgolette doppie. Le stringhe con doppi apici possono valutare variabili e caratteri speciali.

$myString = "Some basic text"
$mySecondString = "String with a $variable"

Per utilizzare una virgoletta doppia all'interno di una stringa, è necessario eseguire l'escape usando il carattere di escape, backtick ( ` ). Le virgolette singole possono essere utilizzate all'interno di una stringa doppia citazione.

$myString = "A `"double quoted`" string which also has 'single quotes'."

Stringa letterale

Le stringhe letterali sono stringhe che non valutano variabili e caratteri speciali. Viene creato utilizzando virgolette singole.

$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'

Per utilizzare le virgolette singole all'interno di una stringa letterale, utilizzare doppie virgolette singole o una stringa di testo letterale. I doppi quto possono essere usati tranquillamente all'interno di una stringa letterale

$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'

Formato stringa

$hash = @{ city = 'Berlin' }

$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"

Le stringhe di formato possono essere utilizzate con l'operatore -f o il metodo statico [String]::Format(string format, args) NET.

Stringa multilinea

Esistono diversi modi per creare una stringa multilinea in PowerShell:

  • È possibile utilizzare i caratteri speciali per il ritorno a capo e / o newline manualmente o utilizzare la variabile NewLine -environment per inserire il valore "newline" dei sistemi)

    "Hello`r`nWorld"
    "Hello{0}World" -f [environment]::NewLine
    
  • Creare un interruzione di riga durante la definizione di una stringa (prima di chiudere la citazione)

    "Hello
    World"
    
  • Usando una stringa qui. Questa è la tecnica più comune.

    @"
    Hello
    World
    "@
    

Qui-string

Le stringhe Here sono molto utili quando si creano stringhe multilinea. Uno dei maggiori vantaggi rispetto ad altre stringhe multilinea è che è possibile utilizzare le virgolette senza doverle sfuggire utilizzando un backtick.

Qui-string

Le stringhe qui iniziano con @" e una interruzione di riga e terminano con "@ sulla propria riga ( "@ devono essere i primi caratteri sulla linea, nemmeno lo spazio / tabulazione ).

@"
Simple
    Multiline string 
with "quotes"
"@

Stringa qui letterale

È anche possibile creare una stringa qui letterale utilizzando le virgolette singole, quando non si desidera che qualsiasi espressione venga espansa come una normale stringa letterale.

@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@

Concatenazione di stringhe

Uso delle variabili in una stringa

È possibile concatenare stringhe utilizzando le variabili all'interno di una stringa con doppi apici. Questo non funziona con le proprietà.

$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"

Usando l'operatore +

Puoi anche unire le stringhe usando l'operatore + .

$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2

Questo funziona anche con le proprietà degli oggetti.

"The title of this console is '" + $host.Name + "'"

Utilizzo di sottoespressioni

L'output / risultato di una sottoespressione $() può essere usato in una stringa. Questo è utile quando si accede alle proprietà di un oggetto o si esegue un'espressione complessa. Le sottoespressioni possono contenere più istruzioni separate da punto ; virgola ;

"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"

Personaggi speciali

Quando viene usato all'interno di una stringa a virgolette doppie, il carattere di escape (backtick ` ) recupera un carattere speciale.

`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)

Esempio:

> "This`tuses`ttab`r`nThis is on a second line"
This    uses    tab
This is on a second line

Puoi anche sfuggire a caratteri speciali con significati speciali:

`#    #Comment-operator
`$    #Variable operator
``    #Escape character
`'    #Single quote
`"    #Double quote


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow