[Java]Découper une String en plusieurs tableaux

Découper une String en plusieurs tableaux [Java] - Java - Programmation

Marsh Posté le 22-02-2009 à 08:45:58    

Bonjour,
je suis en train de faire un programme qui permet de modéliser un automate à partir d'un fichier texte entré par l'utilisateur. Mon fichier texte à grosso modo cette tête:
*a_0_1
*b_1_2
*c_2_3
 3,2%
 
Je voudrai récupérer dans trois tableaux distincts les char, les int, et les int de fin. Il me semble qu'il y a une méthode de découpage de chaine en sous-chaine, mais je ne vois pas comment m'en servir (les normes '*',' _' , ',' et '%' peuvent tout à fait être modifier si ça simplifie l'utilisation de la dîte méthode).
Je voudrais qu'elle me ressorte donc trois chaînes distinctes:
1 = a b c
2 = 0 1 1 2 2 3
3 = 3 2  
Merci d'avance!


Message édité par T0ots le 22-02-2009 à 08:53:00
Reply

Marsh Posté le 22-02-2009 à 08:45:58   

Reply

Marsh Posté le 22-02-2009 à 13:56:12    

2 regexps, une qui match le premier pattern (`*` caractère `_` chiffre `_` chiffre) et une qui match le second (chiffre `,` chiffre `%`), tu les appliques séquentiellement sur les lignes de ton fichier et tu remplis tes ArrayList (ou autres)

 

Mais il serait probablement possible d'offrir de meilleurs conseils si tu nous disais ce que représente ton fichier plutôt que de te dire que t'as déjà trouvé la solution.


Message édité par masklinn le 23-02-2009 à 19:10:38

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-02-2009 à 11:16:29    

C'est un automate à état fini:
les chars (ou string) sont les symboles, et les int les états de transition et à la fin les états finaux :)

Reply

Marsh Posté le 23-02-2009 à 19:12:48    

Par symboles tu entends entrées? Donc avec ton exemple 0-(a)->1; 1-(b)->2; 2-(c)->3; et 3 et 2 sont des états finaux?


Message édité par masklinn le 23-02-2009 à 19:13:15

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-02-2009 à 14:19:03    

exactement!
 
Merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed