Mini algo chelou

cs_anzize Messages postés 41 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 9 juin 2005 - 28 mars 2005 à 13:46
gosb Messages postés 6 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 janvier 2006 - 11 nov. 2005 à 15:14
j'ai un petit soucis les gars !

j'ai une méthode qui ne marche pas et c'est un vrai boxon. Qq aurait-il une méthode meilleure que celle-ci et qui marcherait surtout ?
--------------------------------------EXPLICATIONS---------
la première fois j'ai ça :
String atransformer="salut toi //moi tu vas bien, c'est cool //sourire


la deuxième fois :
String atransformer="salut toi //toi tu dis quoi //pleurer


la troisième fois :
String atransformer="salut toi //vous tu délires //nous



A chaque fois, je voudrais transformer mon String de telle sorte que


la première fois, j'obtienne :
atransformer="salut tu vas bien, c'est cool


la deuxième fois, j'obtienne :
atransformer="salut tu dis quoi


la troisème fois j'obtienne :
atransformer="salut tu délires



Vous l'aurez compris, je souhaite inserrer des images entre des mots (le nom des images, ce ce qui apparaît juste après //).



Voilà ce que j'ai comme méthode qui prend en param mon String atransformer
private String transformateur(String atransformer)
{
int firstDobleSlash=atransformer.indexOf("//");

if(firstDobleSlash=-1)//ce qui signfie qu'il n'y a aucun "//", donc on ne continue pas
{ return atransformer;}
else {int precedent=1000;
while(true)
{
aTransformer=aTransformer.replaceFirst(aTransformer.substring(firstDobleSlash,firstDobleSlash+9),"");
precedent=firstDobleSlash;
firstDobleSlash=aTransformer.indexOf("//",precedent);/*ici firstDobleSlash prend une valeur différente de precedent */
if(firstDobleSlash==precedent)break; /*c a d qu'il n'existe plus de "//" on sort de la boucle*/
}


return atransformer;
}
}

3 réponses

cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
30 mars 2005 à 18:32
salut

dans la ligne

aTransformer=aTransformer.replaceFirst(aTransformer.substring(firstDobleSlash,firstDobleSlash+9),"");

pourquoi firstDobleSlash+9?
tout tes mots clés ne font pas le meme nombre de caractere!
0
cs_anzize Messages postés 41 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 9 juin 2005
31 mars 2005 à 11:21
Salut Yenapa !
Apparement, tu es vraiment active sur le forume, merci bp !
En fait tous mes mots clés ont effectivement le même nombre (9) mais je viens de comprendre un truc qui foirait complètement avec substring.
Déjà, dans ma méthode j'étais en totale erreur !
Ensuite quand on met par exemple
int i=a.indexOf("//");
int j=a.indexOf("//",i);
j n'est pas la position suivant i mais j=i. Et pourtant dans une autre méthode utilisant indexOf, ça mrche (je cprds plus rien) !
Du coup, il a fallu que je fasse :
int j=a.indexOf("//",i+1)...Don't know why ?
Ca m'a donc permis de refaire ma méthode (qui était déjà toute fausse) et au lieu d'avoir des mots clés qui obligatoirement 9 lettres, je peux mettre ce que je veux !
Merci encore !

Si tu as besoin de la méthode n'hésite pas !

Az"
0
gosb Messages postés 6 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 11 janvier 2006
11 nov. 2005 à 15:14
Salut,

Ta méthode m'interesse!!! Tu pourrais la partager avec moi?

Merci
0
Rejoignez-nous