2012-03-31 9 views
1

Ich versuche zu sortieren, wie eine Teilzeichenfolge in einer Zeichenfolge ersetzt wird, wenn die Teilzeichenfolge, die gefunden/ersetzt werden soll, eine Variable ist, die ein oder mehrere Vorkommen eines Schrägstrichs haben kann. Ich vermute, dass das Problem darin besteht, den eingehenden String richtig zu umgehen .... aber ich bin irgendwie in der Syntax verloren, um die Escapes korrekt einzufügen.Wie ersetzt man den String, wenn die Javascript-String-Variable einen Schrägstrich enthält?

var incomingStr = 'some text/take/out/ and yet more.'; 
var removethis = '/take/out/'; 
newStr = incomingStr.replace(removethis," "); 
newStr should be: 'some text and yet more.' 
+0

den Schrägstrich mit einem Backslash '\ /' – Joseph

Antwort

3

Sie können "Zitat" oder "Flucht" mit ihm einen Backslash:

var removethis = '/take \/ out/'; 

Oder wenn Sie möchten, können Sie es in einer Zeichenklasse wickeln:

var removethis = '/take [/] out/'; 
0

Es funktioniert! Hier ist ein Beispiel auf jsfiddle:

http://jsfiddle.net/pipalia/BdvZn/

<html> 
    <head> 
     <script language="javascript"> 
      function testStr() { 
       var incomingStr = 'some text/take/out/ and yet more.'; 
       var removethis = '/take/out/'; 
       var newStr = incomingStr.replace(removethis,""); 
       alert(newStr); 
      } 
     </script> 
    </head> 
    <body> 
     <button onclick="testStr()">Click here</button> 
    </body> 
</html>​ 
Verwandte Themen