Slajd omawia zaawansowane operatory manipulacji łańcuchami znaków: łączenie (-join), dzielenie (-split), podmianę (-replace) oraz formatowanie ciągów (-f).
Formatowanie tekstu: -join, -split, -replace i operator -f
- Operator łączenia (-join): scala tablicę elementów w jeden ciąg tekstowy z opcjonalnym separatorem: $tablica -join ', '.
- Operator podziału (-split): rozbija ciąg znaków na tablicę podciągów według zadanego znaku lub wyrażenia regularnego.
- Operator zamiany (-replace): wyszukuje wzorzec tekstowy lub regex i zastępuje go nowym łańcuchem znaków.
- Operator formatowania (-f): zaawansowane formatowanie oparte na standardzie string.Format z platformy .NET: '{0}: {1:C2}' -f $nazwa, $cena.
Operator formatowania ciągów (-f): wbudowany operator PowerShell integrujący mechanizm formatowania kompozytowego platformy .NET (System.String.Format), umożliwiający precyzyjne wstawianie i zaokrąglanie wartości liczbowych, walutowych oraz dat w szablonie tekstu.
# Operator -match - wyszukiwanie wzorca w tekście (wyrażenie regularne)
$tekst = "Mój email to jan@example.com"
if ($tekst -match '\S+@\S+\.\S+') {
Write-Host "Znaleziono adres email!"
}
# Wzorzec \S+@\S+\.\S+ oznacza: tekst@tekst.tekst
# Operator -replace - zamiana tekstu
$tekst = "Cześć Jan!"
$nowy = $tekst -replace "Jan", "Anna"
Write-Host $nowy # Wynik: Cześć Anna!
# Zamień wszystkie cyfry na X
$tekst = "Mam 5 jabłek i 3 gruszki"
$tekst -replace '\d', 'X'
# Wynik: Mam X jabłek i X gruszek
# Operator -in - sprawdza, czy element jest w tablicy
$kolory = @("czerwony", "zielony", "niebieski")
if ("czerwony" -in $kolory) {
Write-Host "Czerwony jest na liście!"
}
# Operator zakresu - generuje ciąg liczb
1..10 # Wynik: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Operatory łańcuchowe i specjalne w PowerShell rozszerzają możliwości przetwarzania tekstu i danych poza standardowe porównania i przypisania. Operator `-match` wykorzystuje wyrażenia regularne do sprawdzania, czy tekst pasuje do zdefiniowanego wzorca, a przy okazji wypełnia automatyczną zmienną `$matches` wynikami dopasowania. Operator `-replace` umożliwia zamianę fragmentów tekstu według wzorca, co jest szczególnie przydatne przy czyszczeniu i normalizacji danych. Oficjalną specyfikację udostępnia portal Microsoft Learn PowerShell Documentation.
Operator zakresu `..` generuje sekwencje liczb całkowitych, na przykład `1..10` tworzy tablicę od 1 do 10, co jest przydatne w pętlach i przy generowaniu testowych danych. Operator `-in` sprawdza, czy element znajduje się w kolekcji, a `-contains` robi to samo, ale z perspektywy kolekcji. Znajomość tych operatorów znacząco przyspiesza pisanie kodu i pozwala na wyrażenie złożonych operacji w zwięzły sposób, bez konieczności pisania rozbudowanych pętli i warunków.
Skróty użyte w tym slajdzie:
JOIN - operacja scalania kolekcji elementów w jeden ciąg tekstowy.
SPLIT - operacja rozbijania ciągu znaków na tablicę podciągów.
REPLACE - operacja zastępowania podciągów nową zawartością.
FORMAT - formatowanie reprezentacji danych według zadanego wzorca.