2010-12-10 14 views
8

Aby wymienić substring.But nie działa dla mnie ...Jak zamienić podciąg w JavaScript?

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

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

wyjściowa: ----- sprawdzić

Jquery usuwa pierwszy '-' z mojego tekstu. Muszę usunąć wszystkie hipensy z mojego tekstu. Mój oczekiwany wynik jest „Sprawdź”

+6

Nawiasem mówiąc, jest to zwykły JavaScript, nie jquery. –

+1

http://www.w3schools.com/jsref/jsref_replace.asp Tutaj jest ... –

Odpowiedz

20

najprostsze:

str = str.replace(/-/g, ""); 
+0

Dziękuję bardzo, że to działa dla mnie .... –

6

Spróbuj to zamiast:

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

.replace() nie modyfikuje oryginalnego łańcucha, ale zwraca zmodyfikowaną wersję.
Wraz z g na końcu /-/g wszystkie wystąpienia są zastępowane.

+3

jAndy, twoje wyrażenie regularne znajduje się wewnątrz literału łańcuchowego, musisz zlikwidować '' 'aby działało: -) (Poza tym nie trzeba uciec od łącznika, który nie ma specjalnego znaczenia poza klasą znaków). –

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

Flaga regex g jest globalna.

0

Możesz napisać krótką funkcję, która przechwytuje i zastępuje wszystkie wystąpienia, lub możesz użyć wyrażenia regularnego.

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

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