如何全局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);
)被注释掉了。