PowerShell
stringhe
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