public static string AsciiOnly(this string text, params char[] includeAlso)
{
var map = new HashSet<char>(includeAlso);
var sb = new StringBuilder();
foreach (var c in text)
{
if ((c >= '0' && c <= '9')
|| (c >= 'A' && c <= 'Z')
|| (c >= 'a' && c <= 'z')
|| map.Contains(c))
{
sb.Append(c);
}
}
return sb.ToString();
}