Je la chaîne suivante avec délimiteurs séparés qui doit être analysé dehors et je suis en cours d'exécution dans un peu d'un mur à l'heure actuelle.Java - Parse une chaîne multi délimité/dimensions
exemple:
catégorie 1 --- catégorie 2; sous-groupe 1 || sous-groupe 2 --- sous-groupe 1, la valeur 1 || --- valeur2 valeur 3
je voudrais à ré-arranger dans le groupe suivant:
catégorie 1; sous-groupe 1; valeur1; sous-groupe 2, la valeur 2; catégorie 2; sous-groupe 1; valeur1
Le délimiteur "---" sépare une catégorie et ses valeurs. Le "||" délimiteur sépare les champs appartenant à la même catégorie Le ";" délimiteur sépare les types de champs (catégorie, sous-groupe, valeur) Il peut y avoir N catégories dont ils peuvent avoir N sous-groupes.
Chaque valeur est associée 1: 1 à son sous-groupe
Le premier passage fonctionne correctement, mais une fois que j'ai atteint la catégorie 2, tout est nul. Je sais qu'il me manque quelque chose d'évident mais je suis un peu brumeux en ce moment et Java n'est pas ma langue maternelle. Voici ce que j'ai jusqu'à présent (sans délimiteurs)
StringBuilder result = new StringBuilder();
String categoryArray[] = category.split("---");
String subGroupArray[] = subgroup.split("---");
String valueArray[] = value.split("---");
for (int counter=0; counter<categoryArray.length;counter++){
String categoryArray2[] = categoryArray[counter].split("\\|\\|");
String subGroupArray2[] = subGroupArray[counter].split("\\|\\|");
String valueArray2[] = valueArray[counter].split("\\|\\|");
result.append(categoryArray[counter].trim());
for (int counter2=0; counter2<subGroupArray2.length;counter2++){
result.append(subGroupArray2[counter2].trim());
result.append(valueArray2[counter2].trim());
}
result.append("||");
}
return result;
Toute aide ou approches optimisées seraient certainement appréciées!
Quelles sont les valeurs réelles de la catégorie, sous-groupe, et de la valeur? – stevedbrown
Je ne peux pas comprendre les relations prévues entre les catégories, sous-groupes et valeurs et comment votre convention de notation les exprime dans la première chaîne. Pouvez-vous préciser dans votre question? –
Je vais essayer de clarifier un peu les relations. – godel