2012-03-31 60 views
1

我想弄清楚如何替換一個字符串中的子字符串,當被查找/替換的子字符串是一個變量,可能有一個或多個出現的正斜槓。我懷疑這個問題是在正確地轉義傳入的字符串....但我有點迷失在正確插入轉義的語法。如何在Javascript字符串變量可能包含正斜槓時替換字符串?

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

使用反斜槓逸出正斜槓'\ /' – Joseph 2012-03-31 00:48:52

回答

3

你可以在 「報價」 或 「逃跑」,它用一個反斜槓:

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

或者,如果你願意,你可以在一個字符類包裝它:

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

它確實有用!這裏上的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>​ 
相關問題