camelcase
Spezzare una parola in CamelCase

Il camelcase come ci ricorda wikipedia:
[...] è la pratica di scrivere parole composte o frasi unendo tutte le parole tra loro, ma lasciando le loro iniziali maiuscole. Il nome (letteralmente "carattere a cammello") deriva dai "salti" all'interno di una parola, che fanno venire in mente le gobbe di un cammello. [...]
Il camel case è molto usato dai programmatori Java perché è la convenzione ufficiale di Sun per la scrittura dei nomi di classe e di variabile.
Detto questo, può capitare di voler prendere una parola in camel case e separarla nelle sue componenti. Confesso di aver cercato un po' su internet ma di non aver trovato del codice già pronto, quindi ecco di seguito il metodo che mi sono
scritto.
L'idea è semplice:
prendo gli indici di dove sono le lettere maiuscole e spezzo le parole secondo questi indici.
Per fare questo mi viene in aiuto il pattern matching e precisamente il pattern che rappresenta le lettere maiuscole nel character set unicode, cioè \p{Lu}.
Il codice è qua di seguito:
List<Integer> idxList = new ArrayList<Integer>();
//\p{Lu} is the unicode pattern for capital letters
Pattern p = Pattern.compile("\\p{Lu}");
Matcher m = p.matcher(camelString);
//find all occurrences of an uppercase letter and
//put their position in a list
while(m.find()){
idxList.add(m.start());
}
Una volta ottenute le posizioni è sufficiente usare il metodo substring sulla stringa considerata, avendo cura di usare gli indici appena ricavati.
Allego al post la classe completa.
- gtrev's blog
- 8 comments
- Read more
- 2217 reads



17 weeks 4 days ago
31 weeks 1 giorno ago
37 weeks 6 days ago
46 weeks 5 days ago
49 weeks 5 days ago
51 weeks 3 days ago
1 anno 3 weeks ago
1 anno 4 weeks ago
1 anno 30 weeks ago
1 anno 30 weeks ago