Fonction repace en javascript

nikizim Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
nikizim Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -
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 ?
A voir également:

3 réponses

nikizim Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   11
 
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   Statut Membre Dernière intervention   11
 
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   Statut Membre Dernière intervention   11
 
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