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 :

[StringTokenizer]Separer par apostrophe


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut [StringTokenizer]Separer par apostrophe
    Bonsoir à tous,

    j'utilise un stringTokentizer, j'arrive a séparer (j'ai l'habiture), mais je n'arrive pas à séparer par apostrophe
    Exemple:
    String phrase= "L'elephant est bleu";
    //initialise le stringToken
    mot= new StringTokenizer(phrase,"' ",true);


    Si j'imprime un à un mot, je recois
    L'elephant
    est
    bleu

    Impossible donc à faire passer mon apostrophe dans le Delim pour un apostrophe.
    Quelqu'un voit la solution?

    MERCI

  2. #2
    Membre expérimenté Avatar de hydraland
    Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Par défaut
    Salut,

    Passe par la méthode split(). Ex : "L'elephant est bleu".split("'"); te renvoi la tableau {"L", "elephant est bleu"}.

    A+
    Hydraland

  3. #3
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Peut etre que ton probleme vient du faite que tu avais mis un espace après l'apostrophe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mot= new StringTokenizer(phrase,"' ",true);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mot= new StringTokenizer(phrase,"'",true);

  4. #4
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Alors ce que j'ai oublié de dire, c'est que je veut que ca apparaisse comme ceux-ci:

    L
    elephant
    est
    bleu

    C'est pourquoi j'ai mis un "' " (un espace apres l'apostrophe).

    Mais meme si je ne mets que l'apostrophe, cela n'est pas pris.
    Regardez plutot:

    Avec "' " (apostrophe - espace): ca ne decoupe que par les espces, ne prends pas l'apostrophe
    Avec " " (juste espace): meme cas que ci-dessus, ca ne fait que décuoper en espace
    Avec "'" (juste apostrophe): ca ne fait rien

    Avec"a " (letre a suivi d'espace): ca découpe et lorsqu'il y a la lettre "a" et lorsqu'il y a un espce.

    Conclusion: mon ecriture (et donc l'utilisation de la fonction) est bonne. Mais c'est l'apostrophe qui n'est pas pris en compte!!!
    J'ai aussi essaye avec "\'" : mais meme probleme!!!!

    Je ne sais donc plus comment prendre en compte l'apostrophe. Je me suis demandé alors si il n'y pas un code ASCII pour l'apostrophe que je pourai utiliser, par exemple \es23 representant l'apostrophe.

    Si quelqu'un a une solution, je suis preneur.
    Merci à ceux qui m'ont deja repondu

    PS: pour le split, ca n'ira pas car je DOIS utiliser le stringTokenizer (car mon projet a commencé comme ceci, l'ex que j'ai donné est juste simpliste, le projet est autrement, mais l'esprit est là, mais je peux vous garantir que je DOIS passer par StringTokenzier.)

  5. #5
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Perso chez moi ca marche (je te laisse en tirer t'es propres conclusion, ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String phrase = "L'elepghant est bleu";
    		StringTokenizer st = new StringTokenizer(phrase,"' ",false);
    		while (st.hasMoreTokens()){
    			System.out.println(st.nextToken());
    		}
    Voila ce que ca m'affiche :

    L
    elepghant
    est
    bleu

  6. #6
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    J'ai p-e oublié de préciser un truc d'où pourrait provenir le probleme!!!

    Mon String ne provient pas d'une ecriture (cad j'ai pas fait String s="Elephant bleu"), mais ca provient d'un fichier WORD.
    J'ouvre le fichier, je prends une phrase que je mets dans un string, donc p-e que les apostrophes qui sont repris ne sont pas les meme que les apostrophe qu'on pourrait mettre directement en programmant??? (j'en sais rien, c'est une hypothese).

    Lorsque j'utilise le débogeur et que je regarde ce qu'il y a dans le string pas par pas, je NE vois PAS
    "L'elephant est bleu" mais plutot "L´elephant est bleu"
    Pour ceux qui ne voient pas, l'postrophe n'est pas le meme des deux cotés.
    A droite, c'est la touche apostrophe qui se trouve sur la meme touche clavier que "%" (sur un clavier Belge).
    J'ai donc aussi testé avec cet apostrophe, mais ca donne rien non plus

  7. #7
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Aille la ca se corse, lol!
    C'est bizarre et ta essayer un string tout simple avec cette accent?

    Edit : Bon bé j'ai essayé moi meme et ca marche aussi.
    Donc ca ne doit pas encore tout a fait ca. l'apostrophe doit etre encore plus spécial que ca, le debogeur interprete deja surement un peu ton string quand il te l'affiche.

Discussions similaires

  1. [VBA-E] Convertir données separées par point virgule
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/01/2018, 12h05
  2. [REPORT BUILDER 6.0] champs separes par une virgule
    Par sdiack dans le forum Oracle
    Réponses: 1
    Dernier message: 13/03/2006, 17h16
  3. Réponses: 16
    Dernier message: 26/01/2006, 09h49
  4. Réponses: 2
    Dernier message: 19/12/2005, 21h08
  5. Réponses: 4
    Dernier message: 15/04/2005, 15h25

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