Bonjour tout le monde,
Je viens vous voir parce que je bute sur le traitement d'une chaine de caractères et que c'est un projet à rendre dans les jours qui viennent.
En fait cette chaine est composée de plusieurs types d'informations et je souhaiterais avoir accès à chacune d'elle.
Voici ma chaine de caractère :
Notez que j'ai des informations type "Core Data", sur une ligne : passed","3","20","20","0","00:00:19" ( "Status","Location","Raw Score","Max Score","Min Score","Time" sont les en têtes mais je n'en ai pas besoin)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var data = 'Core Data "Status","Location","Raw Score","Max Score","Min Score","Time" "passed","3","20","20","0","00:00:19" Interaction Data "Date","Time","Interaction ID","Objective ID","Interaction Type","Correct Response","Student Response","Result","Weight","Latency" "07/31/2009","16:01:59","ResultatInteraction10185","Quiz10111","true-false","true","true","C","10","00:00:02" "07/31/2009","16:02:04","ResultatInteraction10492","Quiz10111","matching","0.A,1.B","0.a,1.b","C","10","00:00:03" "07/31/2009","16:02:09","ResultatInteraction10716","Quiz10111","long-fill-in","","ezfezf ezaf zaefzea","C","0","00:00:02"'; core_data = getData(data);
et des informations de type "Interaction Data" qui peuvent être de 1 à x lignes. Voici une ligne qui correspond à ses informations dans ma chaine :
"07/31/2009","16:01:59","ResultatInteraction10185","Quiz10111","true-false","true","true","C","10","00:00:02"
Pareil pour celles là je ne veux pas les en-têtes, juste les valeurs.
Je la transmets donc a ma fonction getData qui doit normalement se charger de me renvoyer toutes les informations dont j'ai besoin. Pour cela je parcours d'abord les "Core Data" que je récupère facilement puisqu'elles ne sont que sur une ligne.
Par contre pour les "Interaction Data" je bute, car il peut y avoir 1 ou x lignes.
L'idéale serait donc de pouvoir identifier chaque groupe d'information "Interaction Data" (les mettre dans un tableaux différents) pour accéder à chacune des valeur présente dans ce groupe
Voici la fonction :
N'hésitez pas à me demander plus d'explications parce que c'est difficile à décrire je ne suis pas sûr que toute le monde comprenne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 function getData(a) { if(!a){ return false } var stripCoreData = a.replace("Core Data", ""); stripCoreData = stripCoreData.replace("Interaction Data", " \" \""); stripCoreData = stripCoreData.split("\" \""); // Enlever les doubles quotes dans Core Data var stripQuotes = stripCoreData[1]; // stripCoreData[1] = données Core Data while(stripQuotes.indexOf("\"") !=-1){ stripQuotes=stripQuotes.replace("\"", ""); } // Retouner le résultat sous forme de tableau (Core Data) var results_coreData = stripQuotes.split(","); // Enlever les doubles quotes dans Interaction Data for(var i = 3; i<stripCoreData.length;i++) { var stripQuotes = stripCoreData[i]; while(stripQuotes.indexOf("\"") !=-1){ stripQuotes = stripQuotes.replace("\"", ""); alert(stripQuotes); } } // Remplissage des variables core Data var result = {}; result.RawScore = results_coreData[2]; result.MaxScore = results_coreData[3]; result.MinScore = results_coreData[4]; var Pourcentage = result.RawScore/result.MaxScore; result.Pourcentage = Pourcentage*100; return result }
Je vous remercie d'avance pour l'aide que vous allez m'apporter.
Partager