Zoeken…
Syntaxis
"(Dubbele aanhalingsteken) string"
'Letterlijke reeks'
@"
Hier-string
"@@'
Letterlijke hier-string
'@
Opmerkingen
Tekenreeksen zijn objecten die tekst vertegenwoordigen.
Een basistekenreeks maken
Draad
Tekenreeksen worden gemaakt door de tekst tussen dubbele aanhalingstekens te plaatsen. Tekenreeksen met dubbele aanhalingstekens kunnen variabelen en speciale tekens evalueren.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
Als u een dubbel aanhalingsteken binnen een tekenreeks wilt gebruiken, moet u ontsnappen met het escape-teken backtick ( `
). Enkele aanhalingstekens kunnen worden gebruikt binnen een dubbele aanhalingsteken.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Letterlijke tekenreeks
Letterlijke tekenreeksen zijn tekenreeksen die geen variabelen en speciale tekens evalueren. Het is gemaakt met behulp van enkele aanhalingstekens.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Als u enkele aanhalingstekens binnen een letterlijke tekenreeks wilt gebruiken, gebruikt u dubbele enkele aanhalingstekens of een letterlijke hier-tekenreeks. Dubbele qutoes kunnen veilig worden gebruikt in een letterlijke string
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Tekenreeks opmaken
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Opmaakstrings kunnen worden gebruikt met de operator -f
of de statische [String]::Format(string format, args)
.NET-methode.
Multiline string
Er zijn meerdere manieren om een string met meerdere regels in PowerShell te maken:
U kunt de speciale tekens voor regelterugloop en / of newline handmatig gebruiken of de variabele
NewLine
gebruiken om de "newline" -waarde van het systeem in te voegen)"Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Maak een linebreak terwijl u een tekenreeks definieert (voordat u citaat sluit)
"Hello World"
Gebruik een here-string. Dit is de meest voorkomende techniek.
@" Hello World "@
Hier-string
Here-strings zijn erg handig bij het maken van multiline strings. Een van de grootste voordelen in vergelijking met andere tekenreeksen met meerdere regels, is dat u offertes kunt gebruiken zonder te hoeven ontsnappen met een backtick.
Hier-string
Hier-strings beginnen met @"
en een linebreak en eindigen met "@
op de eigen regel ( "@
moet de eerste tekens op de regel zijn, niet eens witruimte / tab ).
@"
Simple
Multiline string
with "quotes"
"@
Letterlijke hier-string
Je kunt ook een letterlijke here-string maken door enkele aanhalingstekens te gebruiken, als je niet wilt dat uitdrukkingen worden uitgebreid, net als een normale letterlijke string.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Tekenreeksen samenvoegen
Variabelen gebruiken in een string
U kunt tekenreeksen samenvoegen met behulp van variabelen binnen een dubbele aanhalingstekenreeks. Dit werkt niet met eigenschappen.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Gebruik de operator +
U kunt ook strings samenvoegen met de operator +
.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Dit werkt ook met eigenschappen van objecten.
"The title of this console is '" + $host.Name + "'"
Subexpressies gebruiken
De uitvoer / het resultaat van een subexpressie $()
kan in een string worden gebruikt. Dit is handig bij het openen van eigenschappen van een object of het uitvoeren van een complexe uitdrukking. Subexpressies kunnen meerdere instructies bevatten, gescheiden door puntkomma ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Speciale tekens
Wanneer het wordt gebruikt in een string met dubbele aanhalingstekens, vertegenwoordigt het escape-teken (backtick `
) een speciaal teken.
`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)
Voorbeeld:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
Je kunt ook ontsnappen aan speciale tekens met speciale betekenissen:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote