115 votes

Existe-t-il une méthode pour convertir les chaînes de caractères en majuscules ?

Existe-t-il des méthodes intégrées permettant de convertir une chaîne de caractères au format Title Case ?

6voto

Daniel F Points 251

Si vous voulez la réponse correcte selon la dernière norme Unicode, vous devez utiliser icu4j.

UCharacter.toTitleCase(Locale.US, "hello world", null, 0);

Notez que ceci est sensible à la locale.

Documentation de l'Api

Mise en œuvre

3voto

user1743960 Points 141

C'est quelque chose que j'ai écrit pour convertir snake_case en lowerCamelCase mais qui peut facilement être adapté en fonction des besoins.

private String convertToLowerCamel(String startingText)
{
    String[] parts = startingText.split("_");
    return parts[0].toLowerCase() + Arrays.stream(parts)
                    .skip(1)
                    .map(part -> part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase())
                    .collect(Collectors.joining());
}

2voto

David Lavender Points 4321

En utilisant la méthode de Spring StringUtils :

org.springframework.util.StringUtils.capitalize(someText);

Si vous utilisez déjà Spring, cela vous évite d'avoir à utiliser un autre framework.

1voto

Manish Bansal Points 109

Je sais qu'il s'agit d'un ancien article, mais il n'apporte pas de réponse simple. J'avais besoin de cette méthode pour mon codage, alors je l'ai ajoutée ici, simple à utiliser.

public static String toTitleCase(String input) {
    input = input.toLowerCase();
    char c =  input.charAt(0);
    String s = new String("" + c);
    String f = s.toUpperCase();
    return f + input.substring(1);
}

1voto

Utilisez cette méthode pour convertir une chaîne de caractères en casse titre :

static String toTitleCase(String word) {
    return Stream.of(word.split(" "))
            .map(w -> w.toUpperCase().charAt(0)+ w.toLowerCase().substring(1))
            .reduce((s, s2) -> s + " " + s2).orElse("");
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X