2010-12-27 18 views
2

Ok, ich versuche tatsächlich, Text zu ersetzen.Javascript Ersetzen Regex

Grundsätzlich Ich brauche den alle Instanzen dieses zu ersetzen: | mit einem leeren String ''

Dies ist jedoch nicht funktioniert:

langName = langName.replace(/|/g, '');

Auch wäre am besten, wenn ich könnte auch alle diese Instanzen innerhalb der Zeichenfolge ersetzen, mit einem '' auch:

" double quote

' Apostroph

/ Slash zurück

\ vorwärts

und andere HTML-Entität Zeichen Schrägstrich. Arrggg.

Kann mir bitte jemand hier helfen? Vielleicht kann es in eine String.prototype Funktion umgewandelt werden, also kann ich es mehr als einmal benutzen?

Thanks :)

Antwort

3

Sie müssen | mit \ wie zu entkommen:

langName = langName.replace(/\|/g, ''); 

Testfall:

var langName = 'this| is | some string'; 

langName = langName.replace(/\|/g, ''); 
alert(langName); 

Ausgang:

this is some string 

Der Grund, warum Sie entkommen müssen | ist, dass es spezielle Regex-Zeichen ist.


Alternativ können Sie auch split und join wie diese verwenden:

langName = langName.split('|').join(''); 
+0

OMG, es ist so einfach ... argG. Danke, versuche es jetzt ... lol – SoLoGHoST

+0

was ist schneller? split(). join() oder replace()? – SoLoGHoST

+0

@SoLoGHoST: Ich habe sie nicht bewertet, aber wann immer ich split und join benutzen kann, gehe ich für sie. Was die Geschwindigkeit anbetrifft, sollte es keinen großen Unterschied geben, wenn die Zeichenkette nicht so groß ist, was meistens der Fall ist. – Sarfraz