Содержание

Работа со строками

Проверка, если строка не содержит значение.

  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

$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}'