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

Langage Java Discussion :

Remplacer caractère via une regex


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut Remplacer caractère via une regex
    A partir de la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2012-08-23 16:49:37,338
    Je récupère ce que je veux avec la regex suivante :
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2012-08-23 16:49:37
    Comment améliorer cette regex pour remplacer les tirets par des anti-slash pour obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2012\08\23 16:49:37
    Pour information, je ne peux pas le faire en Java, j'utilise un framework dans lequel je dois préciser la regex.

    Merci pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    je ne peux pas le faire en Java
    ben c'est dommage, parce que la soluce était :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "2012-08-23 16:49:37".replaceAll("-","\\");

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par djalouk Voir le message
    Comment améliorer cette regex pour remplacer les tirets par des anti-slash pour obtenir :
    D'une autre manière.

    Une regex ne modifie rien du tout, tu ne peux donc pas remplacer quelque chose par quelque chose rien qu'en changeant la regex. La regex ne sert qu'à dire qu'est-ce que tu veux remplacer, et non pas par quoi le remplacer.

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par thelvin Voir le message
    D'une autre manière.

    Une regex ne modifie rien du tout, tu ne peux donc pas remplacer quelque chose par quelque chose rien qu'en changeant la regex. La regex ne sert qu'à dire qu'est-ce que tu veux remplacer, et non pas par quoi le remplacer.
    Après quelques recherches, j'arrive en effet à la même conclusion. Je vais donc modifier mon traitement.

    Merci pour ton éclairage.

    EDIT : mais pourtant, avec les parenthèses, on peut créer des groupes, et en regexp, on peut réutiliser ses groupes pour faire quelque chose ?

  5. #5
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 792
    Points
    4 792
    Par défaut
    On t'a parlé de la syntaxe de la regex
    Si tu utilise des groupes c'est du Java avec java.util.regex

    Je croyais que tu ne voulais pas utiliser Java ?

    Et d'ailleurs qu'est-ce que tu utilises ?

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 143
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    On t'a parlé de la syntaxe de la regex
    Si tu utilise des groupes c'est du Java avec java.util.regex

    Je croyais que tu ne voulais pas utiliser Java ?

    Et d'ailleurs qu'est-ce que tu utilises ?
    Sauf si j'ai mal compris, il me semble qu'en regex "native", quand on met un pattern entre parenthèses, le résultat est stocké dans un groupe.

    J'utilise un framework interne. Mais je vais voir pour déporter la conversion ailleurs.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par djalouk Voir le message
    Sauf si j'ai mal compris, il me semble qu'en regex "native", quand on met un pattern entre parenthèses, le résultat est stocké dans un groupe.
    C'est une convention commune, oui. Et c'est utile pour regarder ce qu'il y a dans ces groupes, ou pour réutiliser le contenu de ces groupes dans une fonction de remplacement de texte.

    Et alors ? La regex participe au mécanisme de remplacer quelque chose par quelque chose d'autre. Elle est un outil pratique pour sélectionner des choses. Mais elle ne le fait pas.

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

Discussions similaires

  1. Remplacement caractère dans une macro variable
    Par Atojul dans le forum Macro
    Réponses: 2
    Dernier message: 22/04/2008, 09h43
  2. [RegEx] caractère pour remplacer tous les caractères dans une regex
    Par sp2308 dans le forum Langage
    Réponses: 6
    Dernier message: 09/02/2008, 01h06
  3. [RegEx] Remplacement conditionnel via une regexp
    Par Tibalpa dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2007, 22h07
  4. Requête pour remplacer caractères dans une table
    Par elliott1961 dans le forum Installation
    Réponses: 5
    Dernier message: 16/01/2006, 01h47
  5. [String] Remplacement caractères dans une chaîne
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 4
    Dernier message: 19/07/2004, 11h15

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