175 Stimmen

Wie konvertiere ich CamelCase in Java in für Menschen lesbare Namen?

Ich möchte eine Methode schreiben, die CamelCase in einen für Menschen lesbaren Namen umwandelt.

Hier ist der Testfall:

public void testSplitCamelCase() {
    assertEquals("lowercase", splitCamelCase("lowercase"));
    assertEquals("Class", splitCamelCase("Class"));
    assertEquals("My Class", splitCamelCase("MyClass"));
    assertEquals("HTML", splitCamelCase("HTML"));
    assertEquals("PDF Loader", splitCamelCase("PDFLoader"));
    assertEquals("A String", splitCamelCase("AString"));
    assertEquals("Simple XML Parser", splitCamelCase("SimpleXMLParser"));
    assertEquals("GL 11 Version", splitCamelCase("GL11Version"));
}

-2voto

Joel Punkte 1387

Ich bin kein Regex-Ninja, also würde ich über die Zeichenfolge iterieren, wobei die Indizes der aktuellen Position überprüft & die vorherige Position. Wenn die aktuelle Position ein Großbuchstabe ist, würde ich ein Leerzeichen nach der vorherigen Position einfügen und jeden Index inkrementieren.

-3voto

BeesonBison Punkte 1023

http://code.google.com/p/inflection-js/

Sie könnten die Kette String.underscore().humanize() Methoden, um eine CamelCase-Zeichenkette in eine für Menschen lesbare Zeichenkette zu konvertieren.

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