Подтвердить что ты не робот

Самый быстрый способ удаления дефисов из строки [js]

У меня есть ID, которые выглядят так: 185-51-671, но они также могут иметь буквы в конце, 175-1-7b

Все, что я хочу сделать, это удалить дефисы как шаг предварительной обработки. Покажите мне несколько интересных способов сделать это в javascript? Я полагаю, что есть, наверное, довольно много таких вопросов, как этот, но мне интересно узнать, какие оптимизаторы придумают для "простых дефис"

Спасибо!

edit: Я использую jQuery, поэтому я предполагаю, что .replace(a, b) делает трюк (заменяя a на b)

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

любые другие альтернативы?

edit # 2:

Итак, на всякий случай кто-то задается вопросом, правильный ответ был

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

и вам понадобится "g", который является переключателем шаблона или "глобальным флагом", потому что

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

будет соответствовать и заменять первый дефис

4b9b3361

Ответ 2

Это не быстрее, но

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

также должен работать.

Я установил тест jsperf, если кто-то хочет добавить и сравнить их методы, но вряд ли что-то будет быстрее, чем метод replace.

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

Ответ 3

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

Ответ 4

var numericString = testString.replace(/-/gi," ");

//.replace() использует регулярное выражение. В этом случае его замена '-' на ''.

Ответ 5

Сом этих ответов до внесения изменений не удалял все дефисы. Вам нужно будет использовать .replaceAll("-","")