Работа со строками
Проверка, если строка не содержит значение.
if (-not [string]::IsNullOrEmpty($MyString)) { }
Сортировка
Числа, как строки, сортируются, как числа.
'1.6.75.2', '10.10.3.3', '2.23.12.1' | Sort-Object { [version] $_ } '1', '10', '2' | Sort-Object { [int] $_ }
Замена/Replace
- Метод .Replace() - не поддерживает регулярки
- Оператор -replace поддерживает регулярки
- Если замена на пустое значение, то в -replace "a" можно второй аргумент не прописывать
- -replace можно каскадировать
$line=$line -replace "a","1" -replace "b","2"
Множественная замена
$newstr = "windowstect.com" -replace "tect","TECT" -replace "windows","WINDOWS" $newstr = "windowstect.com".replace("tect","TECT").replace("windows","WINDOWS")
$lookupTable = @{ '1' = 'a' '2' = 'b' '3' = 'c' } $line="123" $lookupTable.GetEnumerator() | ForEach-Object { if ($line -match $_.Key) { $line = $line -replace $_.Key, $_.Value } } $line
Группы
$newstr = 'hello world' -replace '(\w+) \w+','$1 $0' #The $newstr will be #hello hello windowstect $newstr = 'hello world'.replace('(\w+) \w+','$1 $0') #The $newstr will be #hello hello windowstect $string -replace '(?=<First_Part>.*),(?=<Second_Part>.*)','${Second_Part},${First_Part}'