d'une chaîne sous forme de:StringTokenizer Non Affichage d'un onglet (" t") comme espaces blancs ("\ s +")
String myStr = "5.1\t3.5\t1.4\t0.2\t0.0";
Si je l'appelle:
StringTokenizer token = new StringTokenizer(myStr, "\\s+");
String firstElement = token.nextToken();
firstElement puis est égal à la chaîne entière. En revanche, si j'appelle:
StringTokenizer token2 = new StringTokenizer(myStr);
String firstElement = token2.nextToken();
firstElement est égal à "5.1". De même si j'utilise la chaîne divisée comme ci-dessous:
String[] splitArray = myStr.split("\\s+")
String firstElement = splitArray[0];
puis, firstElement est "5.1".
Je comprends que StringTokenizer est déconseillé pour l'utilisation et est classé comme une "classe héritée". Mon intention ici est de comprendre pourquoi le même délimiteur fonctionne différemment entre split et StringTokenizer. Je m'attendais à ce que le premier exemple fonctionne comme les deux derniers, mais pour une raison quelconque, il saute les onglets. Toute orientation sur ce que je manque serait très appréciée.
note J'exécute 1.7.0_19 sur OSX dans Eclipse, mais je ne m'attendrais pas à ce que ces variables aient un effet ici.
Le l'utilisation de StringTokenizer avec "\\ s +" est basée sur cette Ha doop Tutoriel de MapR. Je suppose que c'est une erreur. https://www.mapr.com/blog/how-write-mapreduce-program#.VfZblvlVhBc – ZaydH