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

Dotnet Discussion :

Expressions régulières : \"


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut Expressions régulières : \"
    Bonsoir à tous.

    Peut-être que ma question a déjà été posé, mais je n'ai rien trouvé.

    J'aimerai pouvoir remplacer " (les guillemets ou doubles quotes) dans une chaine par - ou tout autre caractère.
    Pour ce faire, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Text.RegularExpressions.Regex.Replace(tmp, "[\"]", "-");//quotes
    mais apparemment ça ne remplace rien. J'ai également essayé avec (\"), rien à faire. Pourtant, avec des logiciels comme RegexMaker ou QuRegExmm, l'expression matche bien les "...

    Quelqu'un pourrait-il m'éclairer sur le pourquoi ça ne marche pas, et surtout, comment faire, car cela m'empêche d'envoyer une chaine à ma base de données mysql.
    Le insert en SQL génère une erreur qui n'existe plus si j'ajoute manuellement la requête sans les " là où il ne devraient pas être : n'importe où dans la chaine : par ex. "Un titre "une citation dans le titre" fin du titre".

    Merci !


  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    t'as essayé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = System.Text.RegularExpressions.Regex.Replace(tmp, "[\"]", "-");//quotes

    c'est comme si tu utilisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp.Replaces("\"","-");
    ca ne marche pas. faut le setter dans quelquechose.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par LapinGarou Voir le message
    Quelqu'un pourrait-il m'éclairer sur le pourquoi ça ne marche pas
    Replace ne modifie pas la chaîne, mais renvoie une chaine modifiée. Or, tu ne récupères pas le résultat de Replace... La suggestion de Louis-Guillaume devrait fonctionner.
    Mais bon, je ne vois pas trop l'intérêt d'utiliser Regex pour simplement remplacer un caractère par un autre... String.Replace fera aussi bien l'affaire. Regex est surtout utile pour des cas plus complexes

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Replace ne modifie pas la chaîne, mais renvoie une chaine modifiée. Or, tu ne récupères pas le résultat de Replace... La suggestion de Louis-Guillaume devrait fonctionner.
    Mais bon, je ne vois pas trop l'intérêt d'utiliser Regex pour simplement remplacer un caractère par un autre... String.Replace fera aussi bien l'affaire. Regex est surtout utile pour des cas plus complexes
    surtout que niveau performance, la regexp est 17 fois plus lente
    http://blogs.msdn.com/debuggingtoolb...rformance.aspx

  5. #5
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    Justement, je suis passé par string.replace.
    Cette regex aurait dû être plus compliquée que celà au final (remplacer le titre entier par du HTML et CSS pour mettre le titre en valeur avant stockage dans la base).
    Le problème était juste que je n'arrivais pas à détecter les " à l'intérieur d'une chaine...
    J'ai contourné le problème, en le faisant "à l'ancienne" avec les methodes de la classe string...

    Par contre, j'ignorai que les regex étaient beaucoup plus lentes.

    Merci !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/11/2014, 10h57
  2. [Python 2.X] Expression régulière trouver quelque chose entre quotes
    Par Northis dans le forum Général Python
    Réponses: 1
    Dernier message: 05/11/2014, 13h59
  3. [RegEx] Simple ou double quote dans une expression régulière
    Par Khleo dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2010, 15h58
  4. Expression Régulière avec Quote
    Par jon301 dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 22h08

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