173 Stimmen

Was ist der einfachste Weg, um einen Java-String von Großbuchstaben (Wörter durch Unterstriche getrennt) in CamelCase (ohne Worttrennzeichen) umzuwandeln?

Der Titel sagt im Grunde alles aus. Wie kann ich in Java auf einfachste / eleganteste Weise einen String im Format "THIS_IS_AN_EXAMPLE_STRING" in das Format "ThisIsAnExampleString" umwandeln? Ich denke, es muss mindestens eine Möglichkeit geben, dies mit String.replaceAll() und einem Regex zu tun.

Meine ersten Gedanken sind: Den String mit einem Unterstrich (_) versehen, den gesamten String in Kleinbuchstaben umwandeln und dann replaceAll verwenden, um jedes Zeichen, das von einem Unterstrich gefolgt wird, in seine Großschreibungsform umzuwandeln.

-3voto

Vladimir Punkte 742
    protected String toCamelCase(CaseFormat caseFormat, String... words){
        if (words.length  == 0){
          throw new IllegalArgumentException("Wortliste ist leer!");
        }

        String firstWord = words[0];
        String [] restOfWords = Arrays.copyOfRange(words, 1, words.length);

        StringBuffer buffer = new StringBuffer();
        buffer.append(firstWord);
        Arrays.asList(restOfWords).stream().forEach(w->buffer.append("_"+ w.toUpperCase()));

        return CaseFormat.UPPER_UNDERSCORE.to(caseFormat, buffer.toString());

    }

-4voto

DET66 Punkte 143

Java 8 für mehrere Strings:

import com.google.common.base.CaseFormat;

String camelStrings = "YOUR_UPPER, YOUR_TURN, ALT_TAB";

List camelList = Arrays.asList(camelStrings.split(","));
camelList.stream().forEach(i -> System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, i) + ", "));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X