Skip to content

Latest commit

 

History

History
41 lines (32 loc) · 971 Bytes

File metadata and controls

41 lines (32 loc) · 971 Bytes
pid 1054
author Grgory Schiro
title Remove diacritics
date 2009-04-22 22:52:23 -0700
format posh
parent 0

Remove diacritics

Remove diacritics from string : PS> Remove-Diacritics -String 'éàçèöîïñùà' eaceoiinua

### Grégory Schiro, 2009

### <summary>
### Removes diacritics from string.
### </summary>
### <param name="String">String containing diacritics</param>
function Remove-Diacritics([string]$String)
{
    $objD = $String.Normalize([Text.NormalizationForm]::FormD)
    $sb = New-Object Text.StringBuilder

    for ($i = 0; $i -lt $objD.Length; $i++) {
        $c = [Globalization.CharUnicodeInfo]::GetUnicodeCategory($objD[$i])
        if($c -ne [Globalization.UnicodeCategory]::NonSpacingMark) {
          [void]$sb.Append($objD[$i])
        }
      }

    return("$sb".Normalize([Text.NormalizationForm]::FormC))
}