2010-12-10 5 views
8

Чтобы заменить substring.But не работает для меня ...Как заменить подстроку в Javascript?

var str='------check'; 

str.replace('-',''); 

Выход: ----- проверить

Jquery удаляет первый '-' из моего текста. Мне нужно удалить все подгибы из моего текста. Мой ожидается выход «проверить»

+6

Кстати, это обычный Javascript, не JQuery. – 2010-12-10 15:38:29

+1

http://www.w3schools.com/jsref/jsref_replace.asp Здесь это ... – 2014-01-31 18:15:07

ответ

6

Попробуйте вместо этого:

str = str.replace(/-/g, ''); 

.replace() не изменяет исходную строку, но возвращает модифицированную версию.
С g в конце /-/g все вхождения заменены.

+3

jAndy, ваше регулярное выражение внутри строкового литерала, вам нужно покончить с `` `для этого:) (Кроме того, нет необходимости скрывать дефис, который не имеет специального значения вне класса символов). – 2010-12-10 15:42:55

3
str.replace(/\-/g, ''); 

Флаг regex g глобальный.

0

Вы можете написать короткую функцию, которая пересекает и заменяет все вхождения, или вы можете использовать регулярное выражение.

var str='------check'; 

document.write(str.replace(/-+/g, ''));