PowerShell 2+
Sometimes it becomes necessary to replace special characters like German “Umlauts” in order to normalize user names or email addresses.
Here is a little function that illustrates how this can be done:
#requires -Version 3
function Convert-Umlaut
{
param
(
[ Parameter ( Mandatory )]
$Text
)
$output = $Text . Replace ( ' ö ' , ' oe ' ) . Replace ( ' ä ' , ' ae ' ) . Replace ( ' ü ' , ' ue ' ) . Replace ( ' ß ' , ' ss ' ) . Replace ( ' Ö ' , ' Oe ' ) . Replace ( ' Ü ' , ' Ue ' ) . Replace ( ' Ä ' , ' Ae ' )
$isCapitalLetter = $Text -ceq $Text . toUpper ()
if ( $isCapitalLetter )
{
$output = $output . toUpper ()
}
$output
}
To convert a string, use it like this:
PS C:\> Convert-Umlaut -Text "Mößler, Christiansön"
Moessler, Christiansoen
ReTweet this Tip!