Eventuali duplicati:
Split string to equal length substrings in Javasuddivisione di un testo in blocchi n-length in Java
Dato il seguente metodo di utilità che ho:
/**
* Splits string <tt>s</tt> into chunks of size <tt>chunkSize</tt>
*
* @param s the string to split; must not be null
* @param chunkSize number of chars in each chuck; must be greater than 0
* @return The original string in chunks
*/
public static List<String> splitInChunks(String s, int chunkSize) {
Preconditions.checkArgument(chunkSize > 0);
List<String> result = Lists.newArrayList();
int length = s.length();
for (int i = 0; i < length; i += chunkSize) {
result.add(s.substring(i, Math.min(length, i + chunkSize)));
}
return result;
}
1) è esiste un metodo equivalente in qualsiasi libreria Java comune (come Apache Com mons, Google Guava), quindi potrei buttarlo via dalla mia base di codice? Impossibile trovare con un rapido sguardo. Non importa se restituisce un array o un elenco di stringhe.
(Ovviamente non vorrei aggiungere la dipendenza di un enorme quadro solo per questo, ma sentitevi liberi di parlare di qualsiasi lib comune, forse lo uso già.)
2) In caso contrario, c'è un po 'più semplice e un modo più semplice per farlo in Java? O un modo sorprendentemente più performante? (Se si suggerire una soluzione regex-based, perche anche pulizia, nel senso di leggibilità per gli esperti non regex ... :-)
Modifica: questo si qualifica come un duplicato della domanda "Split string to equal length substrings in Java" a causa della this Guava solution che risponde perfettamente alla mia domanda!
Sono d'accordo è un duplicato. O, piuttosto, la domanda non è un duplicato esatto, ma le risposte contengono la tua [bella soluzione Guava] (http://stackoverflow.com/questions/3760152/split-string-of-equal-lengths-in-java/ 3760862 # 3760862) che è esattamente quello che voglio! – Jonik
@seanizer: ho visto la classe 'Strings' di Guava, ma avevo completamente perso l'esistenza di' Splitter'. – Jonik