如何全局replaceJavaScriptstring中的正斜杠?

如何全局replaceJavaScriptstring中的正斜杠?

以下将做但只会取代一个发生:

"string".replace('/', 'ForwardSlash'); 

对于全局replace,或者如果你喜欢正则expression式,你只需要跳过斜线:

 "string".replace(/\//g, 'ForwardSlash'); 

使用带有g修饰符的正则expression式,使用反斜杠转义正斜杠,使其不与分隔符冲突。

 var str = 'some // slashes', replacement = ''; var replaced = str.replace(/\//g, replacement); 

不使用正则expression式(虽然我只会这样做,如果searchstring是用户input):

 var str = 'Hello/ world/ this has two slashes!'; alert(str.split('/').join(',')); // alerts 'Hello, world, this has two slashes!' 

这是你想要的吗?

 'string with / in it'.replace(/\//g, '\\'); 

这对我来说只是把"/"变成"/"

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

您好上面的脚本中的小修正..上面的脚本跳过显示输出时的第一个字符。

 function stripSlashes(x) { var y = ""; for(i = 0; i < x.length; i++) { if(x.charAt(i) == "/") { y += ""; } else { y+= x.charAt(i); } } return y; } 

您需要打包正斜杠以避免跨浏览器问题或//注释掉。

 str = 'this/that and/if'; var newstr = str.replace(/[/]/g, 'ForwardSlash'); 
 var str = '/questions'; // input: "/questions" while(str.indexOf('/') != -1){ str = str.replace('/', 'http://stackoverflow.com/'); } alert(str); // output: "http://stackoverflow.com/questions" 

build议的正则expression式/\//g不适合我; 剩下的行( //g, replacement); )被注释掉了。