Par souci de cette question, supposons que j'ai un String
qui contient les valeurs Two;.Three;.Four(and so on)
mais les éléments sont séparés par ;.
.Le moyen le plus efficace de scinder la chaîne en Java
Maintenant, je sais qu'il ya des multiples façons de diviser une chaîne telle que split()
et StringTokenizer
(être plus vite un et fonctionne bien) mais mon fichier d'entrée est d'environ 1 Go et je cherche quelque chose un peu plus efficace que StringTokenizer
.
Après quelques recherches, indexOf
et substring
sont assez efficaces mais les exemples ont seulement des délimiteurs simples ou les résultats retournent seulement un seul mot/élément.
Exemple de code utilisant indexOf
et substring
:
String s = "quick,brown,fox,jumps,over,the,lazy,dog";
int from = s.indexOf(',');
int to = s.indexOf(',', from+1);
String brown = s.substring(from+1, to);
Les travaux ci-dessus pour l'impression brown
mais comment puis-je utiliser indexOf
et substring
pour diviser une ligne avec plusieurs délimiteurs et afficher tous les éléments ci-dessous.
sortie Expected
Two
Three
Four
....and so on
Qu'essayez-vous d'accomplir? Avez-vous fait des tests sur différents cas de test et voyez lequel est "efficace"? –
Il ya aussi une surcharge 'indexOf' qui prend' String' ... – yshavit
vous voulez dire ceci 'string.replaceAll ("; \\. "," \ N ");'? –