bonsoir à tous :lol:
comment je peux mettre en majuscule la 1ere lettre d'une chaine de caractère (la fonction qui me le permet)
Merci.:yaisse2:
Version imprimable
bonsoir à tous :lol:
comment je peux mettre en majuscule la 1ere lettre d'une chaine de caractère (la fonction qui me le permet)
Merci.:yaisse2:
tu peux utiliser la fonction toUpperCase() sur ta chaine de caractere.
exemple (vite fait ^^):
Code:
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); } }
Bonjour
dans le meme sens un truc en dur mais cool
j'aime me casser la tete pour rien :aie:Code:
1
2 String chaine= Character.toUpperCase(texte.charAt(0))+texte.substring(1)
Et si le texte est null? BING :aie:
Mieux vaut utiliser une librairie éprouvée:
http://commons.apache.org/lang/api-r...a.lang.String)Code:
1
2
3 import org.apache.commons.lang.StringUtils ... StringUtils.capitalize(texte)
il suffit d'encadrer par un test sur la taille du String avec un sizeof() sinon ;)
Alors:roll:Code: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.
et si la chaîne est vide ? ;)
Arf les chieurs:
Heureux?:mrgreen:Code:String chaine = chaine==null ?null : chaine.length()!=0?Character.toUpperCase(texte.charAt(0))+texte.substring(1):"";
Code:String chaine = (chaine == null || chaine.length() == 0) ? chaine : Character.toUpperCase(chaine.charAt(0))+chaine.substring(1);
Non, plutôt des flemmards, euh des efficaces je veux dire :P
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:
Déjà c'est mieux commenté 8-)Code:
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(); }
Et probablement plus efficace (StringBuffer).
Ceci-dit j'aime bien les one-liners...
merci à vous tous.