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

API standards et tierces Java Discussion :

Manipulation des String


Sujet :

API standards et tierces Java

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut Manipulation des String
    bonjour, je suis debutant, j'ai vu les faq et forum et j'ai pas trouve une reponse exacte a ma question.

    je veux faire un test sur chaine de caractere entree en parametre.
    La chaine doit etre de la forme n1 :n2 ou n1,n2,n3,…n10000

    J’ai pense a la fonction split mais il parait est pas elle la bonne fonction ???
    Comment je dois proceder pr afficher ou recupperer chacun des n1 puis n2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(args.length>1)
    if(args[0].split(':'))
    Merci

  2. #2
    Membre confirmé Avatar de ferrero
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 75
    Par défaut
    La méthode substring() renvoie une partie de chaîne de caractères.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Affichage des 3 premiers caractères
    s2 = s1.substring(0, 3);

  3. #3
    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,

    Citation Envoyé par ALIAS200
    La chaine doit etre de la forme n1 :n2 ou n1,n2,n3,…n10000
    Quel est sa forme exactement ??? Séparé avec des ':' ou des ',' ???

    Citation Envoyé par ALIAS200
    J’ai pense a la fonction split mais il parait est pas elle la bonne fonction ???
    Cela me semble convenir au contraire... maintenant j'ai peut être mal compris ce que tu voulais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	String str = "n1,n2,n3,...,n10000";
    	for (String m : str.split(",")) {
    		System.out.println("Trouvé : " + m);
    	}
    a++

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    j'ai deux forme que le user peut entrer soit n:n ou n1,n2,n3, et moi je dois tester tous les cas
    Merci

  5. #5
    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
    Devrait marcher dans les deux cas... par contre cela permet également d'utiliser les deux en même temps...

    Si tu veux éviter cela il faut vérifier la présence des caractères avant...

    a++

  6. #6
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Citation Envoyé par ALIAS200
    j'ai deux forme que le user peut entrer soit n:n ou n1,n2,n3, et moi je dois tester tous les cas
    Merci
    Dans ce cas tu crees une methode qui detecte le separateur et tu appelle split selon le separateur.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String[] decompose(String chaine){
    if (chaine.charAt(':')>=0){
    return chaine.split(':');
    }else{
    return chaine.split(',');
    }
    }

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    Merci wiolloi, pour votre aide
    Mais split decoupe la chaine selon le separateur mais comment je sais le nombre des fragments separe par le , ou :

    Merci

  8. #8
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Citation Envoyé par ALIAS200
    Merci wiolloi, pour votre aide
    Mais split decoupe la chaine selon le separateur mais comment je sais le nombre des fragments separe par le , ou :

    Merci
    Quand tu recupere le resultat de la methode decompose tu peux faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] chaines_decoupees= decompose(chaine);
    int nb_chaines=chaines_decoupees.length;

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut
    Tu peux aussi utiliser la classe StringTokenizer.

  10. #10
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    C'est déconseillé dans la Javadoc de StringTokenizer elle-même :

    StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 237
    Par défaut
    Exact, je me rappelais l'avoir déjà entendu.
    Mais je regardais dans la javadoc 1.4.1 et il commence à le déconseiller dans la jdk 1.4.2.

    Mea culpa.

  12. #12
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    294
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 294
    Par défaut
    Salut,jai reflechi pour ca mais il manque d’intelligence, il me faut une methode qui detecte le separateur selon le separateur elle fait des instructions
    voici mon nouveau code :
    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
    22
    23
     
    public class test_string {
    	public static void main(String[] args) { 
    //cas de :
    		    String  first = null,last = null;
    			String[]res;
     
    			res=args[0].split(":");
    			System.out.println(res.length);
    			if(res.length==2)
    			{
    				first=res[0];
    				last=res[1];
    				System.out.println(first);
    				System.out.println(last);
    			}
    			else 
    				System.out.println("erreur");	
    //cas de ,
    		res=args[0].split(",");
    		System.out.println(res.length);		
    	}			
    }
    Meme si je fait utiliser StringTokenizer je dois savoir est ce que le , ou : existe deja ds la chaine
    Merci pour vos aides

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

Discussions similaires

  1. [XL-2010] "Out of memory" à la fin d'une routine manipulant des "string" importants
    Par langeard dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/05/2015, 10h20
  2. Manipuler des string
    Par Garwan50 dans le forum Débuter
    Réponses: 16
    Dernier message: 30/12/2013, 19h02
  3. [c#] Comment manipuler des string ?
    Par Mickey.jet dans le forum C#
    Réponses: 4
    Dernier message: 27/05/2009, 08h14
  4. Réponses: 1
    Dernier message: 08/05/2008, 14h28
  5. [VB]manipulation des caractères d'un string
    Par lacsap49 dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/06/2006, 18h43

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