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

Collection et Stream Java Discussion :

RegExp : optimalité d'un split par rapport à un group


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut RegExp : optimalité d'un split par rapport à un group
    Bonjour,
    je souhaite traîter une chaine de caractères afin d'en récupérer une partie si elle est conforme à mon protocole.
    J'ai trouvé 2 façons de faire et je me demande laquelle est la plus optimale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String str = "abcsd: 12 efgh"
    le but est de retourner le nombre 12.
    Méthode 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(Pattern.matches("^abcsd: \\d+ efgh$", str)){
    			String[] tab = str.split(" ");
    			System.out.println(tab[1]);
    		}
    Méthode 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Pattern p = Pattern.compile("^abcsd: (\\d+) efgh$");
    Matcher m = p.matcher(str);
    if(m.matches()){
    		System.out.println(m.group(2));
    		}
    Si une autre méthode existe, je suis aussi preneur...

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    Pattern.matches() crée un objet Pattern à chaque appel, donc si tu fais ça plusieurs fois, mieux vaut créer le Pattern une seule fois :
    Pattern pattern = Pattern.compile()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    le match je le fait plusieurs fois.
    Ma question porte sur le group :
    je le fais plusieurs fois dans certaines méthodes (group (3), group(2) etc...

Discussions similaires

  1. [CR 2008] Changement du texte par rapport au groupe
    Par Marc_27 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 19/07/2010, 12h14
  2. Supprimer un fichier par rapport a une date
    Par NewB dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 13h44
  3. [MATH] Point par rapport à une droite
    Par teska dans le forum Mathématiques
    Réponses: 6
    Dernier message: 14/05/2003, 16h11
  4. Les possibilité que C++ offre par rapport à Pascal Objet
    Par Riko dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 01/02/2003, 21h38
  5. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08

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