Split chaine

lenneth666 Messages postés 138 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 23 novembre 2010 - 16 nov. 2006 à 15:28
mouzart Messages postés 161 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 novembre 2008 - 17 nov. 2006 à 17:47
bonjour

voilà je lis un fichier ligne par ligne
et dans chaqu'une de ces ligne je veut ignorer ce qui est entre les caractères /* et */
et ignorer egalemetn ce qui est entre guillemet

y a une méthode en java qui fé ca ?

exemple : abc/*def*/ghi me retournerai en fé abcghi

merci d'avance

3 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
16 nov. 2006 à 16:05
Yopla,

String s = " pas "beaucoup mieux"mais"bon"/*pourquoi*/pas";
//te vire tous les caractères entre /* et */
String s2 = s.replaceAll("/\\*.*\\*/","");
//te vire tout ce qu il y a entre quillements
String s3 = s2.replaceAll(""[^"]*"","");

++ Toinou
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
16 nov. 2006 à 16:10
Yopla,

petite correction
String s = " pas "beaucoup mieux"mais"bon"/*pourquoi*/pas*/c est bien";
String s2 = s.replaceAll("/\\*[^*/]*\\*/","");
String s3 = s2.replaceAll(""[^"]*"","");
j ai changé le truc qui vire tous les /* */ car avant ca te donnait pour
"debut/*yip*/yup*/fin"
"debutfin" a la place de "debutyup*/fin
(je l avais bien fait dans la fonction qui vire les guillemets !!)
++ Toinou
0
mouzart Messages postés 161 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 6 novembre 2008 4
17 nov. 2006 à 17:47
Slt,
Si non utilise les expressions regukiers ca repond mieu a ce genre de traitement.
  par exemple:
    String regexp = "/*"+(.)*+"*/";
    Pattern p = Pattern.compile(regexp);
    Matcher match = p.matcher("ici la ligne a traiter");
    String retour = match.replaceAll("");

allez bon courage et a++;
0
Rejoignez-nous