Fonction repace en javascript

Fermé
nikizim Messages postés 67 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 10 avril 2009 - 5 mars 2009 à 12:44
nikizim Messages postés 67 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 10 avril 2009 - 5 mars 2009 à 19:23
Bonjour,

je cherche remplacer plusieurs fois dans un chaine de caractère un même mot.

j'ai donc commencer la fonction suivante :

		function supWords(text, words) {
		var reg = new RegExp('(' + words + ')', 'i');
		var textWordsSupp = text.replace(reg, '');
	
		alert(textWordsSupp);
		}

		supWords('le texte suivant est un exemple. le texte est une chaine de caractère', 'le|un');



la fonction actuel ne me permet que de remplacer que le premier mot. Alors que je souhaiterai avoir un chaine de type :

texte suivant est exemple. texte est une chaine de caractère

Y a t'il un possibilité de faire comme en PHP avec la fonction preg_replace ?

3 réponses

nikizim Messages postés 67 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 10 avril 2009 11
5 mars 2009 à 13:06
j'ai donc trouvé un premier élément de réponse :

Le voici :

		function supWords(text, words) {
		var reg = new RegExp('(' + words + ')', 'ig');
		var textWordsSupp = text.replace(reg, '');
	
		alert(textWordsSupp);
		}


Donc cela supprime les caractères de notre exemple, mais ca va aussi transformé les en s.

je sais qu'en PHP \b ça sélectionne un mot entier. J'ai donc essayé avec JS mais ça n'a pas l'air de fonctionner il ne connait pas \b

pouvez-vous m'aider ?

merci beaucoup d'avance
0
nikizim Messages postés 67 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 10 avril 2009 11
5 mars 2009 à 14:18
Bon je m'auto-répond :)

j'ai essayer plusieurs choses et celle-ci semble être celle qui revient le plus souvent mais elle ne marche pas :

		function supWords(text, words) {
		
		var reg = new RegExp('\b(' + words + ')\b', 'ig');
		var textWordsSupp = text.replace(reg, '');
	
		alert(textWordsSupp);
		}


avez-vous une idée ?
0
nikizim Messages postés 67 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 10 avril 2009 11
5 mars 2009 à 19:23
Je commence à désespérer :(

Le b qui sont normalement utiliser pour détecter un mot complet si je ne me trompe pas n'ont pas l'air de fonctionner et quand je ne les met pas ça fait truc du genre (si les mots à supprimer sont le et la) :

elle => el
les => s
...

En fait ça me coupe les mots.

Vous ne voyez pas ?
0