Как мне преобразовать CamelCase в понятные человеку имена в Java? - PullRequest
144 голосов
/ 01 апреля 2010

Я хотел бы написать метод, который преобразует CamelCase в удобочитаемое имя.

Вот контрольный пример:

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"));
}

Ответы [ 12 ]

0 голосов
/ 04 июня 2010

Я не ниндзя-регулярник, поэтому я перебрал бы строку, сохраняя индексы текущей позиции и предыдущей позиции. Если текущая позиция является заглавной буквой, я вставляю пробел после предыдущей позиции и увеличиваю каждый индекс.

0 голосов
/ 03 мая 2010

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

Вы можете связать методы String.underscore (). Humanize () , чтобы взять строку CamelCase и преобразовать ее в удобочитаемую строку.

...