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

Java Discussion :

split chaine avec plusieur délimiteurs


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 95
    Par défaut split chaine avec plusieur délimiteurs
    Bonjour la communauté !

    J'ai une nouvelle fois besoin de vous pour m'aider à surmonter quelque soucis qui malheureusement me ralentis dans mon boulot...
    Bon voilà, j'ai une chaine de caractère de taille aléatoire avec du contenu aléatoire. Ce que je cherche c'est d'utiliser la methode Split de la classe Pattern afin de scinder ma chaine en plus plusieurs sous chaines grâce a plusieurs délimiteur.

    Mes délimiteurs sont : +, . , ( , ) ,¤ , !

    Le soucis c'est que je sais utiliser la fonction split avec un seul délimiteur mais pas avec 6.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	String[] splitTxt;
    	        String token = Pattern.quote("+"); 
            	splitTxt=txt.split("token");
     
     
    		 for(int i = 0; i< splitTxt.length;i++){
    		// On affiche chaque élément du tableau
    		 System.out.println("élement n° " + i + "=[" + splitTxt[i]+"]");
     
    		}
    Le code ci-dessus marche parfaitement. On pourrait penser à utiliser Pattern.quote(\\W+) mais il sépare les espaces et les underscore, ce que je ne veux pas.


    Merci à vous!

  2. #2
    Membre chevronné Avatar de Drowan
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2014
    Messages : 460
    Par défaut


    Premièrement, la méthode split() appartient à la classe String et pas Pattern (voir doc).

    Ensuite, pourquoi utiliser un Pattern au lieu de faire directement splitTxt = txt.split("+"); ? c'est une contrainte que tu as ?

    Dernièrement, tu peux utiliser une expression régulière dans la méthode split, tu peux donc utiliser [+.()¤!] qui va reconnaître n'importe lequel des caractères que tu as cité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    splitTxt = txt.split("[+.()¤!]");

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 95
    Par défaut
    Citation Envoyé par Drowan Voir le message


    Premièrement, la méthode split() appartient à la classe String et pas Pattern (voir doc). ]
    Merci de me reprendre


    Citation Envoyé par Drowan Voir le message
    Ensuite, pourquoi utiliser un Pattern au lieu de faire directement splitTxt = txt.split("+"); ? c'est une contrainte que tu as ?

    Dernièrement, tu peux utiliser une expression régulière dans la méthode split, tu peux donc utiliser [+.()¤!] qui va reconnaître n'importe lequel des caractères que tu as cité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    splitTxt = txt.split("[+.()¤!]");
    Je n'avais pas de contraintes particulières! Mais merci car en effet, pourquoi faire compliqué lol

    [+.()¤!] fonctionne parfaitement, merci!!

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

Discussions similaires

  1. Chaine avec plusieurs caractères null
    Par Runik dans le forum SL & STL
    Réponses: 7
    Dernier message: 06/10/2007, 12h09
  2. [SQL2K]Requete sur une chaine avec une ou plusieurs quote
    Par tazamorte dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/04/2007, 08h22
  3. Explode avec plusieurs délimiteurs
    Par Seb33300 dans le forum Langage
    Réponses: 4
    Dernier message: 12/03/2007, 14h52
  4. Construire une chaine avec plusieurs espaces vides
    Par imane_bennouna dans le forum Langage
    Réponses: 10
    Dernier message: 04/08/2006, 09h29
  5. Séparer les nombres d'une chaine avec split
    Par guano dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2006, 17h14

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