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 :

Fonction chaine de caractères


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Par défaut Fonction chaine de caractères
    bonsoir à tous

    je cherche s'il existe une fonction chaine de caractère en java qui permet de tester si un caractère existe sur une chaine de caractère et de renvoyer le nombre d'apparition de ce dernier sur la chaine

    Exemple si s="apprendre" si on applique cette fonction à la chaine s et au caractère p par exemple elle renvoie

    f(s , p)=2 puisque p apparait 2 fois sur la chaine. Merci pour l"aide !

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Salut,

    Il n'y a pas de fonction toute faites mais on peut en écrire facilement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String s = "apprendre";
     
    int taille = s.length() - s.replace( "p", "").length(); // on enlève les 'p' (en remplaçant par la chaîne vide) et on compare les tailles
     
    System.out.println( taille ); // donne 2
    On pourrait aussi écrire une boucle pour compter les occurrences.

    Cdt.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    tu a la méthode indexOf qui te permettra de compter dans une boucle, en avancant au fur et à mesure dans le comptage.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Ouais enfin l'intérêt comparé à juste boucler directement, bon... -_-°

    A la rigueur si on comptait des mots et pas de lettres.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Salut,

    Il n'y a pas de fonction toute faites mais on peut en écrire facilement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String s = "apprendre";
     
    int taille = s.length() - s.replace( "p", "").length(); // on enlève les 'p' (en remplaçant par la chaîne vide) et on compare les tailles
     
    System.out.println( taille ); // donne 2
    On pourrait aussi écrire une boucle pour compter les occurrences.

    Cdt.
    Merci pour la réponse ! C'est un algo correcte !
    Mais moi je e demande est ce qu'il n'y a pas une fonction de chaine de caractère qui le renvoie directement ?

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Oui oui on a vu, et la réponse à cette question c'est non.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	String chaine = "apprendre";
    	char value = 'p';
     
    	long nbOccurrence = chaine.chars().filter( i -> (char)i == value).count();

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    une belle solution bien propre Plawyx

  9. #9
    Membre éclairé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 277
    Par défaut
    Citation Envoyé par plawyx Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	String chaine = "apprendre";
    	char value = 'p';
     
    	long nbOccurrence = chaine.chars().filter( i -> (char)i == value).count();
    Merci beaucoup plawyx ça marche très bien ! Mais est ce qu'il n'existe pas une expression plus simple !

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Eh bien, le (char) n'est pas utile, tu peux l'enlever...

    Mais je crois qu'on a atteint le plus simple, là. Après il faut juste écrire une méthode et s'en servir.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. MySQL : cherche une fonction chaine de caractères
    Par raton_laveur dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/08/2010, 18h47
  2. Réponses: 1
    Dernier message: 30/03/2007, 17h38
  3. Problème fonctions chaines de caractères.
    Par Hayron06 dans le forum C
    Réponses: 12
    Dernier message: 13/11/2006, 22h47
  4. Fonction qui transforme chaine de caractère par une autre?
    Par geoffreykill dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 09/12/2004, 15h31
  5. Réponses: 10
    Dernier message: 17/12/2003, 14h51

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