PowerShell:
Преобразование строки в верхний регистр
Как это сделать:
Давайте придадим тексту изюминку. В PowerShell используйте .ToTitleCase
из System.Globalization
для преобразования в заголовочный регистр, или простые методы вроде .ToUpper()
или .ToLower()
для изменения регистра.
# Загружаем класс TextInfo для использования ToTitleCase
$textInfo = (Get-Culture).TextInfo
# Пример с заголовочным регистром
$titleCaseString = $textInfo.ToTitleCase("hello, powershell aficionados!")
Write-Output $titleCaseString
# Вывод: Hello, Powershell Aficionados!
# Пример с верхним регистром
$upperCaseString = "make me shout".ToUpper()
Write-Output $upperCaseString
# Вывод: MAKE ME SHOUT
# Пример с нижним регистром
$lowerCaseString = "SILENCE IS GOLDEN".ToLower()
Write-Output $lowerCaseString
# Вывод: silence is golden
Глубокое изучение
Преобразование в заголовочный регистр исходит из типографской традиции, где заголовки и собственные имена начинаются с заглавных букв. В компьютерном программировании эта практика введена для визуальной стандартизации и читаемости.
Технически, .ToTitleCase
не просто делает буквы заглавными. Он следует правилам, как, например, не преобразовывать в заглавные союзы, предлоги или артикли в некоторых контекстах. Ставим, вы не ожидали этого от однострочного кода, верно?
Существуют альтернативы: regex может выполнять замысловатые преобразования регистра, но это излишне для простых задач. К тому же, читаемость имеет значение — .ToTitleCase
, .ToUpper()
, и .ToLower()
точно говорят о том, что они делают. Никаких догадок.
Один момент: будьте осторожны с правилами, специфичными для культуры, влияющими на преобразование в заголовочный регистр. Например, “i” становится “I” по-английски, но не так в других языках. Здесь TextInfo
блестит; он учитывает культурные нюансы.
Смотрите также
Ознакомьтесь с этими ресурсами для более глубокого изучения: