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

avec Java Discussion :

Capitalisation dans une phrase


Sujet :

avec Java

  1. #1
    Membre à l'essai

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 11
    Points : 12
    Points
    12
    Billets dans le blog
    1
    Par défaut Capitalisation dans une phrase
    Salut a toutes & tous

    J'aimerais écrire un programme qui capitalise la première de chaque mot dans une phrase

    Merci!

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Pour mettre en majuscule chaque première lettre d'un mot, il faut trouver ces lettres dans la chaîne.

    1. Soit on parcourt la chaîne et on cherche une caractéristique qui détermine que la lettre est la première d'un mot. La caractéristique en question est, en français, en version simple : si le caractère n'est pas précédée par une lettre, alors c'est la première d'un mot. On peut aussi simplifier en cherchant les caractères qui sont précédés par une espace.
    2. Soit on utilise une expression régulière qui détecte chaque première lettre de chaque mot.
    3. Soit on découpe la chaîne en mots, on parcourt les mots puis on reconstruit la chaîne, mais ça peut compliquer les choses si on souhaite respecter les espacements entre mot, parce que le découpage simple (par split()) ne conserve pas les séparateurs. On peut utiliser un StringTokenizer éventuellement


    Il faudra tenir compte du cas particulier du premier caractère de la String, qui n'est pas précédé de quoique ce soit. Et éventuellement de tous les cas particuliers en fonction de comment on veut les traiter (cas de l'apostrophe, lettre après . dans un acronyme, etc).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je penche pour une approche 1 de joel.drigo mais à l'inverse de ce qu'il suggère. En effet, il est certainement plus simple de choisir la liste des caractères qui engendre une mise en majuscule que de chercher ce qui caractérise un mot.
    Dans ce cas, on parcours la chaîne de caractères de la gauche vers la droite et si on détecte un de ces caractères, alors le suivant devra être mis en majuscule et ceci jusqu'au dernier caractère de la chaîne.
    Si on ne prennait en compte que {" ", "'", "-", ".", ":", ";", ",", "?", "!", "\t", "\n" , "\r'"}, on serait déjà assez proche du résultat escompté...
    (J'ai ajouté les caractères de ponctuation parce que si la phrase n'est pas dans la logique française qui veut qu'on mette un blanc derrière, les omettre pourrait poser problème...)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. requête pour trouver un mot dans une phrase
    Par FRIGAUX dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/11/2006, 22h18
  2. recherche par mots dans une phrase ou titre
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/09/2006, 09h29
  3. Recherche d'un mot dans une phrase se touvant dans un champ
    Par Grandbastien dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2006, 09h58
  4. [SQL / ORACLE] Supprimer espace dans une phrase
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 10
    Dernier message: 31/01/2006, 16h29
  5. Affichage des chiffres dans une phrases arabe
    Par omda dans le forum Oracle
    Réponses: 4
    Dernier message: 30/09/2005, 13h36

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