Conversion de chaîne de caractères en majuscules
Est-il intégré dans les méthodes disponibles pour convertir une chaîne en majuscules format en tant que tel?
- Tout le monde la lecture de cette question: méfiez-vous que beaucoup des meilleurs voté réponses ici NE fonctionnent PAS CORRECTEMENT pour toutes les langues. Vous avez besoin d'un i18n-aware bibliothèque pour corriger titlecasing, comme ICU4J (voir Daniel F de la réponse).
Vous devez vous connecter pour publier un commentaire.
Apache Commons StringUtils.capitalize() ou WordUtils.capitalize()
e.g:
WordUtils.capitalize("i am FINE") = "I Am FINE"
de WordUtils docil n'y a pas capitalize() ou titleCase() méthodes de la classe String. Vous avez deux choix:
Exemple de mise en œuvre
Cas de test
sorties:
char[]
dansStringBuilder
je suggère d'utilisernew StringBuilder(input.length())
Si je peux soumettre mon point de vue sur la solution...
La méthode qui suit est basé sur celui que dfa posté. Il rend de grands changements (qui est adapté à la solution dont j'avais besoin à l'époque): il oblige tous les caractères dans la chaîne d'entrée en minuscules, sauf s'il est immédiatement précédé par un "exploitables délimiteur", auquel cas le personnage est forcée en majuscule.
Une limitation importante de ma routine, c'est qu'il fait l'hypothèse que "titre" est uniformément définie pour tous les lieux et est représenté par le même cas conventions que j'ai utilisé et donc il est moins utile que la tfd du code à cet égard.
VALEURS DE TEST
SORTIES
Character.toTitleCase
à la place.Utilisation WordUtils.capitalizeFully() de Apache Commons.
Vous pouvez utiliser apache commons langs comme ceci :
vous pouvez trouver la java doc ici :
WordUtils.capitalizeFully java doc
et si vous voulez supprimer les espaces entre les mondes que vous pouvez utiliser :
vous pouvez trouver la java doc pour la Chaîne
StringUtils.supprimer java doc
j'espère que cette aide.
Si vous voulez la réponse correcte selon la dernière norme Unicode, vous devez utiliser icu4j.
Noter que c'est la locale sensibles.
La Documentation De L'Api
La mise en œuvre
C'est quelque chose que j'ai écrit pour convertir snake_case à lowerCamelCase mais pourrait facilement être adaptés en fonction des exigences
Je sais que c'est plus vieux, mais ne donne pas la réponse la plus simple, j'ai besoin de cette méthode pour mon codage, donc j'ai ajouté ici, simple à utiliser.
Voici une autre basée sur @dfa et @scottb réponses qui gère toutes les non-lettre/chiffres:
Donnée d'entrée:
la sortie est
Utiliser cette méthode pour convertir une chaîne en majuscules :
J'ai eu ce problème et j'ai cherché pour elle
ensuite, j'ai fait ma propre méthode à l'aide de quelques mots-clés java
juste besoin de passer des variable de Chaîne comme paramètre, et obtenir une sortie comme bon intitulé de la Chaîne.
vous pouvez très bien utiliser
ou
de Google API.
J'ai récemment rencontré ce problème aussi, et malheureusement eu beaucoup d'occurences de noms commençant par Mc et Mac, j'ai fini par utiliser une version de scottb du code, j'ai changé pour une poignée de ces préfixes c'est donc ici au cas où quelqu'un veut l'utiliser.
Il y a toujours des cas limites qui ce manque, mais la pire chose qui puisse arriver, c'est qu'une lettre sera moins le cas où il devrait être en majuscule.
De Conversion à Titre de Cas :
Résultat : "C'Est Un Texte"
J'ai besoin d'un titre de cas de convertisseur de transformer n'importe quelle chaîne de caractères contenant chameau cas, le blanc-espaces, de chiffres et d'autres caractères. Mais aucune solution disponible travaillé. En fin de compte, j'ai construit une pour moi.
Voici quelques entrées:
Et mes sorties:
À l'aide du Printemps
StringUtils
:Si vous utilisez déjà le Printemps de toute façon, cela évite les amener dans un autre cadre.
Cela devrait fonctionner:
La façon la plus simple de convertir une chaîne en majuscules, est d'utiliser google package org.apache.commons.lang.WordUtils
Sera le résultat de cette
Je ne sais pas pourquoi son nom de "capitalizeFully", où, en fait, la fonction n'est pas de faire de la capitale de résultat, mais de toute façon, c'est l'outil dont nous avons besoin.
capitalizeFully
car il capitalise tous les mots, y compris ceux qui doivent être en minuscules dans un titre. grammar.about.com/od/tz/g/Title-Case.htmDésolé, je suis un débutant donc mon codage habitude suce!