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 découpage sous condition


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Par défaut split découpage sous condition
    Bonjour à tous,

    mon soucis est le suivant :

    je souhaite découper une chaine avec le caractere '.
    chaine.split("'");
    pour la chaine : société'toto
    cela me donne socité et toto, ca marche très bien.

    Plus compliqué maintenant, il faut que je decoupe la chaine en intégrant une conndition. Si le caractere de séparation est précédé d'un ? alors il ne faut pas découper ....
    cad, la chaine société'toto?'passion, cela devait donner:
    société et toto'passion.

    Est ce qu'il y a un moyen pour réaliser cette tache ??

    merci d'avance

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu peux faire cela en utilisant les constructions spéciales, qui permettent de vérifier les caractères avant/après le pattern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	String str = "société'toto?'passion";
     
    	for (String value : str.split("(?<!\\?)'")) {
    		System.out.println(value.replace("?'", "'"));
    	}
    a++

  3. #3
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 702
    Par défaut
    si tu veux ne pas découper si l'apostprophe n'est pas précédée d'un point d'interogation, Tu peux faire :
    chaine.split("(?<!\\?)'");

    Par contre ça n'effacera pas le point d'interrogation. Pour cela il faudrait en plus que tu fasse: fragments[x].replace("?'","'"); sur les morceaux de chaine après découpage.

  4. #4
    Membre averti
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Par défaut
    un gros gros merci !! pour la rapidité et la réussite

    bonne journée à tous

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

Discussions similaires

  1. [VBA-E]feuille créée sous condition
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2006, 15h11
  2. Afficher un champ sous condition
    Par Cantalou dans le forum Access
    Réponses: 24
    Dernier message: 01/02/2006, 14h25
  3. Réponses: 8
    Dernier message: 14/01/2006, 15h17
  4. Pb Ouverture de formulaire sous condition.
    Par Phl98 dans le forum Access
    Réponses: 8
    Dernier message: 03/11/2005, 22h28
  5. Create function sous condition
    Par nbl dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/05/2005, 12h00

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