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 : 43

    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

  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 571
    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 571
    Points : 15 538
    Points
    15 538
    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 571
    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 571
    Points : 15 538
    Points
    15 538
    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 : 43

    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