Pro odstranění diakritiky v řetězcích lze z použít normalizace řetězce na tvar
př: ‚ěščřžýáíéů -> eˇsˇcˇrˇzˇy´a´i´e´u°.
Pak se už jen profiltruje vstupní řetězec a vyhodí se znaky NonSpacingMark
function RemoveDiacritics {
param ($s)
$s = $s.Normalize([System.Text.NormalizationForm]::FormD);
$sb = “;
for ($i = 0; $i -lt $s.Length; $i++) {
if ([System.Globalization.CharUnicodeInfo]::GetUnicodeCategory($s[$i]) -ne [System.Globalization.UnicodeCategory]::NonSpacingMark
) {
$sb += $s[$i] ;
}
}
return $sb;
}