Private/ConvertTo-TitleCase.ps1
# ------------------------------------------------------------------------------ # Capitalise string # ------------------------------------------------------------------------------ function ConvertTo-TitleCase { <# .SYNOPSIS Convert string to title case .DESCRIPTION Capitalise the first letter of each words in a string to form a title. .PARAMETER String The string parameter corresponds to the string to format. It can be a single word or a complete sentence. .PARAMETER Delimiter The delimiter parameter corresponds to the character used to delimit dis- tinct words in the string. The default delimiter for words is the space character. #> [CmdletBinding ()] Param ( [Parameter ( Position = 1, Mandatory = $true, HelpMessage = "String to format" )] [ValidateNotNullOrEmpty ()] [String] $String, [Parameter ( Position = 2, Mandatory = $false, HelpMessage = "Word delimiter" )] [String] $Delimiter = " " ) Begin { $Words = $String.Split($Delimiter) $FormattedWords = New-Object -TypeName System.Collections.ArrayList } Process { foreach ($Word in $Words) { [Void]$FormattedWords.Add((Get-Culture).TextInfo.ToTitleCase($Word.ToLower())) } $FormattedString = $FormattedWords -join " " return $FormattedString } } |