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
.
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("-","")