SIMULATION DE LA FONCTION "INSTRING" ,NON DISPONIBLE EN FLASH.

shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008 - 12 nov. 2006 à 12:57
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008 - 18 nov. 2006 à 14:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40293-simulation-de-la-fonction-instring-non-disponible-en-flash

shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
18 nov. 2006 à 14:34
En effet top30 c'est un peu tromper mais en réfléchissant un peu on arrive
à qq chose qui marche
function allIndexOf( source :String, search :String ):Array{
var index :Array= new Array() ;
var splited :Array= source.split(search) ;
var segMax :Number= splited.length-1 ;
var position :Number= 0 ;
var i :Number= -1 ;
while(++i < segMax ) {
position+= splited[i].length ;
index.push(position) ;
position+= search.length ;
}
return index ;
}
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
17 nov. 2006 à 23:20
gé testé ta methode mais ca ne marche po :(
elle retourne "undefined";
en plus "source" est une mot clé dans flash;
mais merci comme meme, car l'utulisation de la méthode split simplifie les choses;
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
17 nov. 2006 à 02:02
function allIndexOf( source :String, search :String ):Array{
var indexes :Array= new Array() ;
var splited :Array= source.split(search) ;
var segMax :Number= splited.length ;
var position :Number= 0 ;
var i :Number= -1 ;
while(++i < segMax ) {
position+= splited[i].length ; // CORRIGE
index.push(position) ;
}
return indexes ;
}
// Pardon, mais il est tard...
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
12 nov. 2006 à 17:30
ouai c ça,desolé
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
12 nov. 2006 à 16:49
i+=l;
fait gaffe à ca, ton L on le confond avec un 1.
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
12 nov. 2006 à 16:39
merci pour l'info, mais si tu vois bien le code tu verra qu'il ne va pas produire le tableau genre[0,1,2], dans le cas "cccc" car j'incrimente le "i" par la longeur du chaine qu'on cherche
******************
i+=l;
sachant que l est la longueur du chaine,
**
mais merci comme meme
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
12 nov. 2006 à 16:01
ouais .. encore un qui ne connais pas "indexOf" ... tu as tout de même réinventé cette fonction et tu te tappes tout les caractères un par un ...

Dans ton cas, il risque d'y avoir des erreurs dans le cas d'un texte genre "cccc" avec la recherche de la chaîne "cc" ... tu obtiendras un tableau genre [0,1,2], or dans n'importe quel traitement de texte, il ne t'aurais sortis que [0,2] pour éviter les doublons ...

Moi je te conseille fortement de revoir ta fonction en y incluant "indexOf" car tu te prend la tête pour rien !

Peg'
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
12 nov. 2006 à 14:53
non lastIndexOf ne fait le meme travail;
car lastIndexOf retourne le drenier index du string qu'on cherche, par contre la mienne retourne un tableau contenant toutes les occurences du string cherché.
merci;
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
12 nov. 2006 à 12:57
sauf erreur de ma part mais lastIndexOf fait la même

public lastIndexOf(value:String, [startIndex:Number]) : Number

http://wiki.media-box.net/documentation/flash/string/lastindexof
Rejoignez-nous