PowerShell
strängar
Sök…
Syntax
"(Dubbelciterat) String"
"Bokstavssträng"
@"
Här-string
"@@'
Bokstavligen här-sträng
'@
Anmärkningar
Strängar är objekt som representerar text.
Skapa en grundläggande sträng
Sträng
Strängar skapas genom att lägga in texten med dubbla citat. Dubbelciterade strängar kan utvärdera variabler och specialtecken.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
För att använda ett dubbelt citat inuti en sträng måste det rymmas med escape-karaktären, backtick ( `
). Enstaka citat kan användas i en dubbelciterad sträng.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Bokstavssträng
Bokstavliga strängar är strängar som inte utvärderar variabler och specialtecken. Det skapas med enstaka citat.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Om du vill använda enstaka citat i en bokstavlig sträng använder du dubbla enkla citat eller en bokstavlig här-sträng. Dubbla qutoes kan användas säkert i en bokstavlig sträng
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Formatera sträng
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Formatsträngar kan användas med -f
operatören eller den statiska [String]::Format(string format, args)
.NET-metoden.
Multiline string
Det finns flera sätt att skapa en multiline-sträng i PowerShell:
Du kan använda specialtecknen för retur och / eller ny linje manuellt eller använda variabeln
NewLine
miljö för att sätta in systemets "newline" -värde)"Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Skapa en linebreak medan du definierar en sträng (innan du stänger offert)
"Hello World"
Med hjälp av en här-sträng. Detta är den vanligaste tekniken.
@" Hello World "@
Här-string
Här-strängar är mycket användbara när du skapar multiline strängar. En av de största fördelarna jämfört med andra multiline strängar är att du kan använda offert utan att behöva undkomma dem med en backtick.
Här-string
Här-strängar börjar med @"
och ett linbrott och slutar med "@
på sin egen rad ( "@
måste vara första tecken på linjen, inte ens med blanksteg / flik ).
@"
Simple
Multiline string
with "quotes"
"@
Bokstavligen här-sträng
Du kan också skapa en bokstavlig här-sträng med hjälp av enstaka citat när du inte vill att några uttryck ska utvidgas precis som en vanlig bokstavsträng.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Slå samman strängar
Använda variabler i en sträng
Du kan sammanfoga strängar med variabler i en dubbelciterad sträng. Detta fungerar inte med egenskaper.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Använda +
operatören
Du kan också gå med strängar med hjälp av +
-operatören.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Detta fungerar också med egenskaper hos objekt.
"The title of this console is '" + $host.Name + "'"
Med subexpressions
Utgången / resultatet av subexpressions $()
kan användas i en sträng. Detta är användbart när du får åtkomst till objekt av objekt eller utför ett komplext uttryck. Subexpressions kan innehålla flera uttalanden separerade med semikolon ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Speciella karaktärer
När den används i en dubbelciterad sträng, återkommar flykteckenet (backtick `
) ett specialtecken.
`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)
Exempel:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
Du kan också undgå specialtecken med speciella betydelser:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote