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 :

Split et StringTokenizer inefficaces pour le delimiteur "=+="


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Par défaut Split et StringTokenizer inefficaces pour le delimiteur "=+="
    Salut,

    soit le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    	public static void main (String[] args){
     
        	String username = "toto";
            String password = "abcd-!_$+aa=";
            String DELIMITER = "=+=";
     
            String t = username+DELIMITER+password;
     
            String[] a = t.split(DELIMITER);
            for(String s: a)
            	System.out.println(s);
     
            System.out.println("");
            StringTokenizer stringTokenizer = new StringTokenizer(t,
    				DELIMITER);
     
            System.out.println(stringTokenizer.nextToken());
            System.out.println(stringTokenizer.nextToken());
            System.out.println(stringTokenizer.nextToken());
     
    	}
    Le but est de pouvoir spliter une chaine du type aaa=+=bbb, même lorsque bbb contient un + ou un =.

    Le StringTokenizer, lui me fait 3 chaines, le split lui, ne découpe rien.

    Y'a t-il un moyen simple de réaliser ce que je veux ?

    EDIT:

    bon en fait,j'ai juste à bien échapper chaque caractères dans mon split et c'est good :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String[] a = t.split("\\=\\+\\=");

    Cdlt.

  2. #2
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Parce que le '+' est un caractère réservé en expression régulières

    Essayes avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] a = t.split("=\\+=");

    (juste le + ça suffit, pas besoin d'échapper les autres)

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/04/2007, 13h48
  2. [split]methode non définie pour le type string
    Par maniolo dans le forum Langage
    Réponses: 12
    Dernier message: 12/04/2006, 17h59

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