j'apprécierais votre aide à ce sujet, car je ne sais pas quelle plage de caractères utiliser, ou s'il y a une classe de caractères comme [[: cntrl:]] que j'ai trouvée dans ruby?
au moyen de non imprimable, je veux dire supprimer tous les caractères qui ne sont pas affichés dans la sortie ie, lorsque l'on imprime la chaîne d'entrée. Attention, je cherche une regex c #, je n'ai pas de problème avec mon code
Vous pouvez supprimer tous les contrôles et autres caractères non imprimables avec
s = Regex.Replace(s, @"\p{C}+", string.Empty);
Le \p{C}
La classe de catégorie Unicode correspond à tous les caractères de contrôle, même ceux en dehors de la table ASCII car dans .NET, les classes de catégorie Unicode sont compatibles avec Unicode par défaut.
Vous pouvez essayer avec:
string s = "Täkörgåsmrgås"; s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);
Documentation sur les caractères non imprimables: https://en.wikipedia.org/wiki/Control_character
Méthode Char.IsControl:
https://msdn.Microsoft.com/en-us/library/system.char.iscontrol.aspx
Vous pouvez peut-être essayer:
string input; // this is your input string
string output = new string(input.Where(c => !char.IsControl(c)).ToArray());