Substring?

professeursidi Messages postés 7 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 4 juin 2003 - 8 mai 2003 à 15:29
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 9 mai 2003 à 14:17
Salut a tous,

voila depui kelke temps jme pren la tete sur un truc tou simple
je doi recuperer une sous chaine d'une chaine de caractere
par exemple j'ai :

String chaine="Themes;/Rep1/Rep2/Themes/fichier.html"

Je ve recuperer ce qui se trouve entre "Rep2/" et "/fichier.html"

sachant que je pe ossi avoir

String chaine="Themes;/Rep1/Rep2/Themes/Theme1/fichier.html"

ds ce cas je ve recuperer "Themes/Theme1"

g essayé avec substring mé g po reussi, est-une bonne methode? Auriez vous une idée?

Merci d'avance
:)

6 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
8 mai 2003 à 15:56
String texte = chaine.substring(chaine, substring.indexOf("Rep2/"), substring.indexOf("/fichier.html"));
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
8 mai 2003 à 17:17
String rep= "Rep2/";

chaine.substring(chaine.indexOf(rep) + rep.length());

Core Breaker :)
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
8 mai 2003 à 19:03
core, mardche pas ça
puisque tu connais pas la longueur et il se fini pas à la fin. Faut la borne de départ et celle qui fini
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
8 mai 2003 à 19:44
Pourtant je l'ai fait des millers de fois le seul problème est qu'il dau être sûr que "Rep2/" existe. Moi je n'ai pas besoin de l'index de fin puisque en plus je pensait que la fin n'est pas certaine.
Sinon voilà une solution plus exhaustive:

String rep= "Rep2/";
int idx= chaine.indexOf(rep);
String resultat= "";

if( idx >= 0 )
{
int debut= idx + rep.length();

if( debut > chaine.length() )
resultat= chaine.substring(debut);
}


Core Breaker :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
8 mai 2003 à 19:46
Je me suis un peu trompé dans la comparaison c'est:

String rep= "Rep2/";
int idx= chaine.indexOf(rep);
String resultat= "";

if( idx >= 0 )
{
int debut= idx + rep.length();

if( debut < chaine.length() )
resultat= chaine.substring(debut);
}


Core Breaker :)
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
9 mai 2003 à 14:17
préfère de ma façon, plus simple et une seule ligne

String texte = chaine.substring(chaine, substring.indexOf("Rep2/"), substring.indexOf("/fichier.html"));

mais bon, je crois que professeuridi a eu sa réponse
0
Rejoignez-nous