Какими разными способами я могу удалить символы из строки в 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 внутри некоторого "статического измерения" строки.