Преобразование строки в нижний регистр

PowerShell:
Преобразование строки в нижний регистр

Как сделать:

PowerShell довольно удобен для работы со строками. Используйте метод .ToLower(), вот так:

$string = "HELLO, World!"
$lowerCaseString = $string.ToLower()
$lowerCaseString

Вывод:

hello, world!

Или попробуйте метод ToLowerInvariant(), когда культурные нормы не должны влиять на преобразование:

$string = "HELLO, World!"
$lowerCaseInvariant = $string.ToLowerInvariant()
$lowerCaseInvariant

Вывод:

hello, world!

Подробнее

В прошлом нечувствительность к регистру была довольно распространенной в языках программирования. В PowerShell, как и в его предках .NET, строки являются объектами с встроенными методами для манипуляции. Когда мы используем .ToLower(), мы вызываем метод, который обрабатывает процесс преобразования для нас.

Альтернативные способы решения задачи? Конечно. Вы могли бы использовать:

  • цикл for, посещая каждый символ и вручную изменяя регистр
  • регулярные выражения с оператором -replace
  • конвертацию, специфичную для культуры, используя перегрузки метода .ToLower()

Почему используется инвариантная культура с ToLowerInvariant()? Это важно для получения последовательных результатов в различных локализациях, где интерпретация того, что считается “нижним” регистром, может различаться.

Смотрите также

Для более подробных приключений по манипуляции со строками, посетите эти ссылки: