Pattern Regex [Résolu]

Signaler
Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2011
-
Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2011
-
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
A voir également:

4 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
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!
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
32
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!
Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2011

Bonjour,

Me plait bien comme solution.
char.IsLetterOrDigit( ) est bien destiné à effectuer un test sur l'espace ?
Messages postés
131
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2011

super, je prend
merci