当Javascript字符串变量可能包含正斜杠时如何替换字符串?

时间:2012-03-31 00:47:07

标签: 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.'

2 个答案:

答案 0 :(得分:3)

您可以使用反斜杠“引用”或“转义”它:

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

或者如果您愿意,可以将其包装在角色类中:

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

答案 1 :(得分: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>​