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()? Это важно для получения последовательных результатов в различных локализациях, где интерпретация того, что считается “нижним” регистром, может различаться.
Смотрите также
Для более подробных приключений по манипуляции со строками, посетите эти ссылки: