Powershell — Строки (Часть 1)

PowerShellСегодня разберем тему: Powershell — строки. Пройдемся поэтапно по командлетам, которые обрабатывают строки. Плюс ко всему изучим различные конструкции, которые можно использовать в работе. Иногда бывают уникальные случаи, когда строки необходимо обрабатывать прямо во время выполнения другого командлета.

Powershell — Строки

Часто возникают ситуации, когда строки необходимо обработать. Например, удалить лишние символы, которые возникли в результате ошибок. Или например, входящий массив был заполнен другим человеком и вы хотите удостовериться, что при выполнении не будет каких-либо проблем. Для работы со строками в Powershell есть весьма широкий функционал. Вот стандартный список свойств и методов обработки строк:

  • Как удалить символ из строки? — str.Replace()

Таким образом в переменной $text имя Vapi поменяется на Sergey и вся переменная преобразуется в следующий вид при попытке вывести ее в консоли:

Такая конструкция будет искать все совпадения и всех их менять на значение указанное после запятой. Можно заменить сразу несколько символов в переменной:

Такой же принцип действует и с массивом:

  • Как узнать длину строки? — str.Lenght

Это весьма просто свойство строки, которое показывает количество символов в переменной:

  • Как обратиться к символу строки по индексу? — str.Chars()

Свойство, которое позволяет обратиться к символу по индексу:

Постепенно такая конструкция устаревает, потому что можно обращаться к символам переменных по индексу:

К тому же у конструкции Chars есть ограничения в виде количества аргументов, которое не позволяет создать перегрузку и постараться вывести сразу 2 символа. Еще из минусов можно отметить, что Chars не воспринимает «промежуток». То есть если вы попытаетесь использовать $str.Chars(5..7), то получите ошибку формата «Не удается преобразовать аргумент «»index»…

А поиндексное обращение позволяет использовать такой синтаксис, что сильно упрощает работу:

Так же можно использовать отрицательный индекс. В таком случае массив символом будет перебираться с конца:

  • Как удалить все из строки после определенного индекса? — str.Remove()

Этот метод принимает на вход индекс символа и удаляет все содержимое, которое находится за ним:

  • Как вставить значение в строку? — str.Insert()

Instert — метод вставки подстроки в строку, после указанного символа. Дополним только что обрезанную переменную:

  • Как превратить строку в массив? — str.Split()

Метод Split позволяет разбить строку на массив, указывая разделитель. Например, можно использовать пробел в качестве разделителя:

Или букву «о»:

  • Как удалить все символы в строке перед индексом? — str.Substring()

Этот метод позволяет получить подстроку из исходной строки, путем удаления всех символом перед указанным индексом:

  • Как копировать строку? — str.Clone()

Позволяет точно скопировать исходную строку:

  • Как сравнить строки с учетом регистра? — str.CompareTo()

Позволяет сравнить строки. Если они совпадают, то в консоль выводится 0. В случае несовпадения метод может выдать -1 (если первая строка больше второй) или 1 (если первая строка меньше второй). Также при использовании этого метода стоит учитывать, что регистр символов влияет на результат сравнения. Если необходимо сравнить строки без учета регистра, то можно воспользоваться статическим методом Compare:

На этом пока все! Если у вас остались вопросы обязательно пишите их в комментариях! В скором времени мы выпустим вторую часть работы со строками. А пока ждем вас в группе в ВК и на нашем Youtube канале!

Поделиться в соц. сетях:

Понравилась статья? Поблагодари автора, накорми печеньками! :)

Опиши свой кейс здесь, если у тебя остались вопросы и мы обязательно ответим...