moyen le plus rapide pour supprimer les tirets d’une chaîne

J’ai des identifiants qui ressemblent à: 185-51-671 mais ils peuvent aussi avoir des lettres à la fin, 175-1-7b

Tout ce que je veux faire est de supprimer les traits d’union, comme une étape de prétraitement. Montre-moi des façons sympas de faire ça en javascript? Je pense qu’il y a probablement pas mal de questions comme celle-ci, mais je suis intéressé de voir quelles optimisations les gens vont trouver pour “juste des tirets”

Merci!

edit: j’utilise jQuery, donc je suppose que .replace (a, b) fait l’affaire (en remplaçant un avec b)

numberNoHyphens = number.replace("-",""); 

d’autres alternatives?

modifier # 2:

Donc, juste au cas où quelqu’un se demanderait, la bonne réponse était

 numberNoHyphens = number.replace(/-/g,""); 

et vous avez besoin du “g” qui est le commutateur de modèle ou “drapeau global” parce que

 numberNoHyphens = number.replace(/-/,""); 

ne correspondra et ne remplacera que le premier trait d’union

Vous devez inclure l’indicateur global :

 var str="185-51-671"; var newStr = str.replace(/-/g, ""); 

Ce n’est pas plus rapide, mais

 str.split('-').join(''); 

devrait également fonctionner.

J’ai mis en place un test jsperf si quelqu’un veut append et comparer ses méthodes, mais il est peu probable que la méthode replace .

http://jsperf.com/remove-hyphens-from-ssortingng

 var str='185-51-671'; str=str.replace(/-/g,''); 

Certaines de ces réponses, avant les modifications, n’ont pas supprimé tous les tirets. Vous devez utiliser .replaceAll("-","")