Simulation de la fonction "instring" ,non disponible en flash.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 686 fois - Téléchargée 23 fois

Contenu du snippet

pour vérifier qu'un string se trouve dans une chaine, et donne l index

Source / Exemple :


function inString(chaine:String, str:String):Array {
	var l:Number = str.length;
	var i:Number = 0;
	var tab:Array =new Array();
	while (i<chaine.length-l) {
		if (chaine.charAt(i) == str.charAt(0)) {
			if (chaine.substring(i, i+l) == str) {
				tab.push(i);
				i+=l;
			}
		} else {
			i++;
		}
	}
	return tab;
}

A voir également

Ajouter un commentaire

Commentaires

shubenka
Messages postés
760
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008
-
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
386
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
1 -
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
-
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
386
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
1 -
ouai c ça,desolé
shubenka
Messages postés
760
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008
-
i+=l;
fait gaffe à ca, ton L on le confond avec un 1.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.