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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 721 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

Messages postés
759
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 ;
}
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
2
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;
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...
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
2
ouai c ça,desolé
Messages postés
759
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.
Afficher les 9 commentaires

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.