public/Get-CleanText.ps1
function Get-CleanText { <# .SYNOPSIS Remove non-ASCII alphanumeric characters from text string .DESCRIPTION Remove non-ASCII alphanumeric characters from test string, such as diactritics and optionally remove spaces. .PARAMETER String Required. Input string value .PARAMETER NoSpaces Optional. Remove spaces .EXAMPLE Get-CleanText "Entrepôt Jalapeño" Returns "Entrepot Jalapeno" .EXAMPLE Get-CleanText "Entrepôt Jalapeño" -NoSpaces Returns "EntrepotJalapeno" .LINK https://github.com/Skatterbrainz/helium/blob/master/docs/Get-CleanText.md #> param ( [parameter()][string]$String, [parameter()][switch]$NoSpaces ) if ([string]::IsNullOrWhiteSpace($String)) { "" } else { $result = $($String).Trim() if ($NoSpaces) { $result = $result -replace " ","" } $result = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($result)) $result = ($result -replace "'", "") -replace '[^a-zA-Z0-9\- \.\,\;\:]', '' $result } } |