1.17.12. fejezet, String kezelés
Kétféle string kezelés van, ami hasonlít a PHP string kezeléséhez. A egyszerű 'szöveges idézőjelek' közé zárt szövegben az értékek nem helyettesítődnek a változók értékeivel, és a speciális karakterek sem váltanak ki semmit, míg a "dupla $idézőjelek" közé zárt szövegben a változók értékei helyettesítésre kerülnek és a speciális karakterek is helyettesítődnek (pl.: `n a soremelés, `t tabulátor).
$érték1 = 'szalma ''$széna''' $érték2 = "'boglya' $érték1" # érték2 : 'boglya' szalma '$széna'
Összefűzésük azonban eltér a PHP-tól:
$myString = 'This string includes ' + "'" + 'single quotes' + "'"
Első elem indexe az 0-ás:
"'boglya'".Insert(1,"széna") # 'szénaboglya'
Többsoros szöveget a PowerShell ISE-ben a shift+enter billentyű kombinációval készíthetünk. Script esetében a "here string"-et használjuk (hasonlóan a bash-hoz ahol << EOF a nyitó és EOF a záró határoló karaktersor, itt is soremelés legyen a @" karaktersor után és a "@ karaktersor előtt):
$myString = @" This is the first line of a very long string. A "here string" lets you create blocks of text that span several lines. "@
Speciális karaktereket - mint az újsor vagy tabulátor - a ferde idézőjellel szúrhatunk be:
"Report for Today`n----------------" #Report for Today #----------------
Kifejezések is beilleszthetők $() között:
$header = "Report for Today" $myString = "$header`n$('-' * $header.Length)" $myString #Report for Today #----------------
Vagy másképpen a formázó kifejezést használva:
$myString = "{0}`n{1}" -f $header,('-' * $header.Length)
Formázáshoz lásd még a .Net String.Format leírását. (Standard numeric format strings,Standard Date and Time Format Strings,Enumeration format strings,Standard TimeSpan Format Strings)
String konvertálása számmá
$string = "1234" $integer = [int]$string
String kovertálása dátummá és vissza
$invoice = "01-06-16" [datetime]::parseexact($invoice, 'dd-MM-yy', $null) [datetime]::parseexact($invoice, 'dd-MM-yy', $null).ToString('yyyy-MM-dd')
- A hozzászóláshoz be kell jelentkezni