Какими разными способами я могу удалить символы из строки в JavaScript?
Удаление символов из строки
Ответ 1
Использование replace() с регулярными выражениями является наиболее гибким/мощным. Это также единственный способ глобально заменить каждый экземпляр шаблона поиска в JavaScript. Необременимый вариант replace() заменит только первый экземпляр.
Например:
var str = "foo gar gaz";
// returns: "foo bar gaz"
str.replace('g', 'b');
// returns: "foo bar baz"
str = str.replace(/g/gi, 'b');
В последнем примере конечный /gi указывает на нечувствительность к регистру и глобальную замену (это означает, что не только первый экземпляр должен быть заменен), что обычно требуется, когда вы заменяете строки.
Чтобы удалить символы, используйте в качестве замены пустую строку:
var str = "foo bar baz";
// returns: "foo r z"
str.replace(/ba/gi, '');
Ответ 2
Здесь oneliner, который удаляет символы LIST (более одного раза) - например, удалите +,-, ,(,) с номера телефона:
var str = "+(48) 123-456-789".replace(/[-+()\s]/g, '');
значение результата str: "48123456789"
Мы используем регулярное выражение [-+()\s], где помещаем нежелательные символы между [ и ] (\s является escape-символом пробела - для получения дополнительной информации о символах символов google в regexp)
Ответ 3
Вы можете использовать replace.
Ответ 4
Я знаю, что это старо, но если вы выполните разделение, то присоедините его, он удалит все вхождения определенного символа, т.е.:
var str = theText.split('A').join('')
удалит все вхождения "A" из строки, очевидно, это не чувствительно к регистру
Ответ 5
Другим методом, о котором никто не говорил, является метод substr для создания строк из другой строки... это полезно, если ваша строка имеет определенную длину, а символы, которые вы удаляете, находятся на любом конце строки..or внутри некоторого "статического измерения" строки.