IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Expressions régulières et \ [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut Expressions régulières et \
    Bonjour,
    Je suis une quiche en expressions régulières, j'ai trouvé une fonction sur le net qui me convient presque : elle nettoie une chaine de tous les caractères spéciaux.
    Cependant je voudrais la modifier, pour garder également les caractères : . \ / - et espace

    Mais je n'arrive pas à prendre en compte les \ qui sont systématiquement supprimés... pourriez-vous me dire ce qui ne va pas dans ma fonction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            protected String supprimerCharsSpeciaux (String s) {
                return Regex.Replace (s, "[^a-zA-Z0-9. -:\\/_]", "");
            }
    Par avance merci,

  2. #2
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut.

    Essaie return Regex.Replace(s, "[^a-zA-Z0-9.\\s-:\\\\\\/_]", "");. Ce qui se passe c'est que le '\' est le caractère d'échappement dans les string en C#, et que c'est également un caractère spécial en termes de regex, donc :
    • \\ en regex pur pour chercher un '\' ;
    • échappé deux fois pour le C# ça donne \\\\.

    D'où le "\\s" pour représenter le \s, etc.

    Voilà .

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Points : 119
    Points
    119
    Par défaut
    Salut Max,
    Merci beaucoup, ça marche !
    Je note que je n'ai pas eu besoin de remplacer l'espace par \s, les espaces étaient préservés tels quels.

    Ma fonction finale est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            protected String supprimerCharsSpeciaux (String s) {
                return Regex.Replace (s, "[^a-zA-Z0-9. -:\\\\\\/_]", "");
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo