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 1ere caractère majuscule.


Sujet :

Langage Java

  1. #1
    Membre régulier Avatar de naima2005
    Inscrit en
    Février 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2006
    Messages : 340
    Points : 93
    Points
    93
    Par défaut fonction 1ere caractère majuscule.
    bonsoir à tous

    comment je peux mettre en majuscule la 1ere lettre d'une chaine de caractère (la fonction qui me le permet)

    Merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    tu peux utiliser la fonction toUpperCase() sur ta chaine de caractere.

    exemple (vite fait ^^):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class main {
    	public static void main(String[] args) {
    		String ch="test";
    		String ch2=ch.substring(1);   //chaine sans la premiere lettre
    		ch=ch.substring(0, 1);          //recup la premiere lettre
    		ch=ch.toUpperCase();          // mise en maj
    		ch+=ch2;                           //concatene
    		System.out.println(ch);
    	}
     
    }

  3. #3
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    dans le meme sens un truc en dur mais cool
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String chaine= Character.toUpperCase(texte.charAt(0))+texte.substring(1)
    j'aime me casser la tete pour rien
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Points : 137
    Points
    137
    Par défaut
    Et si le texte est null? BING

    Mieux vaut utiliser une librairie éprouvée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.apache.commons.lang.StringUtils
    ...
    StringUtils.capitalize(texte)
    http://commons.apache.org/lang/api-r...a.lang.String)

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    il suffit d'encadrer par un test sur la taille du String avec un sizeof() sinon

  6. #6
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    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 562
    Points : 15 502
    Points
    15 502
    Par défaut
    Citation Envoyé par Onarap Voir le message
    Et si le texte est null? BING

    Mieux vaut utiliser une librairie éprouvée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.apache.commons.lang.StringUtils
    ...
    StringUtils.capitalize(texte)
    http://commons.apache.org/lang/api-r...a.lang.String)
    Alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = chaine==null ?null :Character.toUpperCase(texte.charAt(0))+texte.substring(1);

    Si on utilise déja apache commons, StringUtils est une bonne solution. Maintenant, je ne crois pas que ca la peine d'ajouter une dépendance si tu n'as besoin que ce cette fonction.

  7. #7
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    et si la chaîne est vide ?

  8. #8
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    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 562
    Points : 15 502
    Points
    15 502
    Par défaut
    Arf les chieurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = chaine==null ?null : chaine.length()!=0?Character.toUpperCase(texte.charAt(0))+texte.substring(1):"";
    Heureux?

  9. #9
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine = (chaine == null || chaine.length() == 0) ? chaine : Character.toUpperCase(chaine.charAt(0))+chaine.substring(1);

  10. #10
    Membre habitué

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 118
    Points : 137
    Points
    137
    Par défaut
    Citation Envoyé par Uther Voir le message
    Arf les chieurs
    Non, plutôt des flemmards, euh des efficaces je veux dire
    Pourquoi s'évertuer à réinventer la roue?
    Cette fonctionnalité a déjà été implementée, et l'implémentation est béton (au fait, où sont tes tests cases) alors import et voilà!

    EDIT
    Par curiosité, l'implémentation de apache-commons:
    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
    24
    25
    26
    27
    28
    29
    30
        /**
         * <p>Capitalizes a String changing the first letter to title case as
         * per {@link Character#toTitleCase(char)}. No other letters are changed.</p>
         *
         * <p>For a word based algorithm, see {@link WordUtils#capitalize(String)}.
         * A <code>null</code> input String returns <code>null</code>.</p>
         *
         * <pre>
         * StringUtils.capitalize(null)  = null
         * StringUtils.capitalize("")    = ""
         * StringUtils.capitalize("cat") = "Cat"
         * StringUtils.capitalize("cAt") = "CAt"
         * </pre>
         *
         * @param str  the String to capitalize, may be null
         * @return the capitalized String, <code>null</code> if null String input
         * @see WordUtils#capitalize(String)
         * @see #uncapitalize(String)
         * @since 2.0
         */
        public static String capitalize(String str) {
            int strLen;
            if (str == null || (strLen = str.length()) == 0) {
                return str;
            }
            return new StringBuffer(strLen)
                .append(Character.toTitleCase(str.charAt(0)))
                .append(str.substring(1))
                .toString();
        }
    Déjà c'est mieux commenté
    Et probablement plus efficace (StringBuffer).

    Ceci-dit j'aime bien les one-liners...

  11. #11
    Membre régulier Avatar de naima2005
    Inscrit en
    Février 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2006
    Messages : 340
    Points : 93
    Points
    93
    Par défaut ok c'est bon
    merci à vous tous.

Discussions similaires

  1. [XL-2003] Trouver la 1ere lettre majuscule dans une chaine de caractères
    Par ptitrault dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 05/10/2009, 10h59
  2. Requête en fonction des caractères de mes champs
    Par ginkas31 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/07/2007, 19h17
  3. Récuperer des caractères Majuscules dans une chaine
    Par Loïc59 dans le forum Général VBA
    Réponses: 3
    Dernier message: 17/05/2007, 00h14
  4. [vbs] fonction encodage caractères
    Par philippe123 dans le forum VBScript
    Réponses: 2
    Dernier message: 24/08/2006, 11h24
  5. comparaiison chaine de caractère majuscule/minuscule
    Par dev7 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/05/2006, 16h58

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