Equivalent Trim en JavaScript

Par Nicwalle, il y a 9 ans


Bonjour,
Je cherche un équivalent à la fonction trim de PHP. Avant que vous criiez "cherche un peu sur Google", sachez que je ne cherche pas à enlever les espaces en début et fin de chaine de caractère mais plutôt enlever les "-".
En PHP, je ferais

<?php $string = "la-chaine-de-caractere-dont-je-veux-enlever-le-dernier-tiret-"; $string = trim($string,"-"); echo $string; //Ce qui retournerait: la-chaine-de-caractere-dont-je-veux-enlever-le-dernier-tiret ?>

mais la fonction trim de JavaScript, elle, ne me permet pas de spécifier le tiret.
Quelqu'un a-t-il une solution?

Merci d'avance,

Nicwalle
http://www.nicwalle.com

4 réponses

Romano83, il y a 9 ans

Salut,
si tu souhaite enlever uniquement le dernier caractère d'une string, tu peux utiliser la méthode slice.
Ex:

var string = "la-chaine-de-caractere-dont-je-veux-enlever-le-dernier-tiret-"; string = string.slice(0,-1); console.log(string) // retourne la-chaine-de-caractere-dont-je-veux-enlever-le-dernier-tiret

Source : MDN

Nicwalle, il y a 9 ans

Merci pour ta réponse, malheureusement, j'aimerais également gérer le cas où ma chaîne de caractère contient plusieurs tirets à la fin. As-tu une idée?

PhiSyX, il y a 9 ans

Yop. Tu peux le faire avec la méthode replace du prototype String => "----chaine-de-caractere-".replace(/^-+|-+$/g, '')
Bien évidement là c'est fait à la va vite mais tu pourrais créer une fonction pour que ce soit plus propre ^^

Nicwalle, il y a 9 ans

Merci beaucoup, c'est la solution que je cherchais