Функции по работе со строками в Powershell


20 сентября 2019


Функции по работе со строками в Powershell

Любой тип данных в Powershell может использовать методы объектов .NET. Каждый из этих методов можно использовать либо в виде команды, ключа или метода .Net. Узнать тип данных, у любого объекта Powershell, который находится в переменной можно через один из таких методов:

$a = 'Journey'
$a.GetType()

В колонке Name отображается тип строка. Со строками часто нужно переводить их в другой регистр, измерять длину, заменять символы.

Для примера переведем строку в верхний регистр:

'RegisTR'.ToLower()

Или обратная операция, которая переведет строку Powershell в верхний регистр:

'RegisTR'.ToUpper()

Powershell перевод регистра

Можно проверить содержание символов в конце строки, которое вернет булевое значение True при положительном результате:

'Konec'.EndsWith('ec')

Или в начале:

'Konec'.StartsWith('Ko')

Обратите внимание, что регистр букв имеет значение:

Вхождение в строку Powershell

Можно использовать несколько методов один за другим:

'Konec'.ToLower().StartsWith('ko')

Поиск подстроки в Powershell, тоже возвращает булевое значение:

'Один два три'.Contains('два')

Можно вернуть номер первого упомянутого символа - это называется индексом:

'Один два три'.IndexOf('и')

Или вернуть последний индекс последнего символа, так как в этой строке несколько букв 'И'

'Один два три'.LastIndexOf('и')

Индексы Powershell

По этим индексам можно получить срез подстроки в Powershell. В моем случае первый индекс - это знак пробела:

$first_index = 'Вырез срез slice'.IndexOf(' ')
'Вырез срез slice'.Substring($first_index)

Можно указать второй индекс, но нужно помнить, что после объявления первого индекса второй должен объявляться относительно первого:

'Вырез срез slice'.Substring(6,5)

Срез подстроки PowershellВставка новой строки по индексу:

'cрез'.Insert(0, 'Как делать ')

Вставка в строку Powershell

Измерение длины строки в Powershell:

'Длина строки'.Length

Длина строки Powershell

Метод replace в Powershell мы уже разбирали в виде ключа и регулярных значений. Это пример метода .NET. Как и методы выше тут важен регистр символов:

'Длина строки'.Replace('Длина', 'Замена')

powershell replace

Один из самых частых методов в Powershell это преобразование строки в массив. В моем случае разделитель пробел, но может быть любой другой:

'Логин пароль'.Split(' ')

 Разделить строку на массив Powershell

Удаление пробелов в Powershell в начале и конце строки:

'    Удаление пробелов    '.Trim()

Удаление пробелов Powershell

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.