Invoke-StringNormalization.psm1
function Invoke-StringNormalization { param ( [Parameter(Mandatory = $true)] [string]$InputString, [Parameter(Mandatory = $false)] [ValidateSet('Germany', 'Scandinavia')] [string]$Locality = 'Germany' ) switch ($Locality) { 'Germany' { $OutputString = $InputString.Replace('Ö', 'Oe').Replace('Ä', 'Ae').Replace('Ü', 'Ue').Replace('ö', 'oe').Replace('ä', 'ae').Replace('ü', 'ue') } 'Scandinavia' { $OutputString = $InputString.Replace('Ö', 'O').Replace('Ä', 'A').Replace('Ü', 'U').Replace('ö', 'o').Replace('ä', 'a').Replace('ü', 'u') } } $OutputString = $OutputString.Replace(' ', ' ').Replace('ß', 'ss').Replace('Å', 'A').Replace('Ø', 'O').Replace('å', 'a').Replace('ø', 'o').Trim() return $OutputString } |