我有一个字符串“D:\ folder \ image.jpg”,我想将其更改为“http://ip/VDrive/folder/image.jpg
”。
我试过这样的事情:
var str = "D:\folder\image.jpg";
str = str.replace("D:\\", "http://ip/VDrive/");
result = str.replace("\\", "/");
但它不起作用。我直接从VS2008编辑了外部js文件,我希望它与它无关。
请帮助我。
答案 0 :(得分:2)
var str = "d:\\folder\\image.jpg"; # Escape here
str = str.replace("d:\\", "http://ip/VDrive/"); # Case sensitive
result = str.replace("\\", "/");
答案 1 :(得分:2)
\f
被翻译为特殊符号。您需要将起始字符串转义为:
var str = "d:\\folder\\image.jpg";
此外,在replace语句中,如果要使其区分大小写,请考虑使用正则表达式:
str = str.replace(/D:\\/i, "http://ip/VDrive/");
但这会产生:http://ip/VDrive/folder\image.jpg
因此,将剩余的\
转换为正斜杠:
str = str.replace(/\\/g, "/");
答案 2 :(得分:1)
DO
var str = "d:\folder\image.jpg";
var newstr = str.replace("d:\folder", "http://ip/VDrive/folder/");
console.log( newstr );
演示:jsFiddle
答案 3 :(得分:1)
更改
var str = "d:\folder\image.jpg";
到
var str = "d:\\folder\\image.jpg";
然后它有效!
答案 4 :(得分:0)
// for a dynamic str
var file = str.split("\");
var to = "http://ip/VDrive/" + file[file.length-1]`
答案 5 :(得分:0)
var str = "d:\\folder\\image.jpg";
result = str.replace("d:\\", "http://ip/VDrive/").replace(/\\/g, "/");