Pattern Regex

Résolu
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 27 août 2010 à 09:42
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011 - 15 sept. 2010 à 10:07
Bonjour,

Je poste ici n'étant parvenu à trouver un thème plus approchant.
Je cherche à définir un modèle permettant de vérifier les noms des fichiers hébergés sur serveur cvs: pas d'espace, ni d'accent dans le nommage.
Je dois avouer que les regex pas trop mon fort, et puis ça fait longtemps Je m'en sors actuellement à coup de substring, mais pas très élégant...
Merci pour toute aide

4 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
29 août 2010 à 22:28
bonsoir

non, IsLetterOrDigit() c'est pour savoir si c'est une lettre ou un chiffre uniquement, le test de l'encodage c'est pour éliminer les accentués.
pour l'espace et les tabulation ce doit être (de mémoire) isSpace().

Bob
C# is amazing, enjoy it!
3
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
27 août 2010 à 16:04
Bonjour

Pas certain qu'un regex soit la meilleure approche.
à ta place je me ferais une petite mééthode genre
private bool IsValidAsciiString(string input)
{
ASCIIEncoding ascii = new ASCIIEncoding();
Encoding unicode = Encoding.Unicode;

byte[] unicodeBytes = unicode.GetBytes(input);
byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);

if (ascii.GetString(asciiBytes) != input)
return false;
foreach (char c in asciiBytes)
{
if (!char.IsLetterOrDigit(c))
return false;
}
return true;

}


Bob
C# is amazing, enjoy it!
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
28 août 2010 à 14:40
Bonjour,

Me plait bien comme solution.
char.IsLetterOrDigit( ) est bien destiné à effectuer un test sur l'espace ?
0
cs_zatt Messages postés 131 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 23 septembre 2011
15 sept. 2010 à 10:07
super, je prend
merci
0
Rejoignez-nous