Y a-t-il une fonction intégrée à Java qui met en majuscule la première lettre de chaque mot dans une chaîne de caractères, sans affecter les autres ?
Exemples:
jon skeet
->Jon Skeet
miles o'Brien
->Miles O'Brien
(B reste en majuscule, ce qui exclut la casse initiale)old mcdonald
->Old Mcdonald
*
*(Old McDonald
serait aussi bien, mais je ne m'attends pas à ce qu'elle soit AUSSI intelligente.)
Un rapide coup d'œil à la Documentation sur les chaînes de caractères Java révèle seulement les fonctions toUpperCase()
et toLowerCase()
, qui bien sûr ne fournissent pas le comportement souhaité. Naturellement, les résultats de Google sont dominés par ces deux fonctions. Il semble que c'est une roue qui doit avoir été inventée déjà, donc ça ne fait pas de mal de demander pour que je puisse l'utiliser à l'avenir.
21 votes
Que diriez-vous de
old mcdonald
? Doit-il devenirOld McDonald
?2 votes
Je ne m'attends pas à ce que la fonction soit si intelligente. (Bien que si vous en avez une, je serais heureux de la voir.) Il suffit de mettre en majuscule la première lettre après un espace blanc, mais ignorez le reste.
0 votes
Releated: stackoverflow.com/questions/1149855/…
1 votes
Vous ne seriez pas en mesure de trouver un algorithme qui gère correctement la capitalisation des noms après coup de toute façon ... tant qu'il y a des paires de noms, dont l'un des deux peut être correct pour une personne donnée, comme MacDonald et Macdonald, la fonction n'aurait aucun moyen de savoir lequel était correct. Il vaut mieux faire ce que vous avez fait, bien que vous fassiez encore quelques erreurs de noms (comme von Neumann).
0 votes
Essayez Burger King ...
0 votes
Aussi lié : stackoverflow.com/questions/22230306/…
0 votes
Bonne lecture: w3.org/International/questions/qa-personal-names