Meglio è soggettiva. Questo richiede un po più righe di codice:
public static String deCamelCasealize(String camelCasedString) {
if (camelCasedString == null || camelCasedString.isEmpty())
return camelCasedString;
StringBuilder result = new StringBuilder();
result.append(camelCasedString.charAt(0));
for (int i = 1; i < camelCasedString.length(); i++) {
if (Character.isUpperCase(camelCasedString.charAt(i)))
result.append(" ");
result.append(camelCasedString.charAt(i));
}
return result.toString();
}
Nascondi questo brutto di implementazione in una classe di utilità e usarlo come un'API (sembra ok dal punto di vista dell'utente;))
fonte
2011-02-03 12:36:05
distacco come un commento piuttosto che risposta perché io non conosco la sintassi. Ma sono sicuro che sarebbe molto facile scrivere un'espressione regolare che cercherebbe una lettera maiuscola (che non è all'inizio della frase) e aggiunga uno spazio prima di essa. – DaveJohnston
Ti aspetti 'convert (" HELLO ") ==" H E L L O "'? – vz0
@ vz0: In realtà la mia stringa avrà alcune lettere minuscole tra le lettere maiuscole. – Emil