0

我有一个字符串“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文件我希望它与它无关。

请帮我解决一下这个。

4

6 回答 6

2
var str = "d:\\folder\\image.jpg";     # Escape here
str = str.replace("d:\\", "http://ip/VDrive/");    # Case sensitive
result = str.replace("\\", "/");
于 2013-05-28T07:51:33.557 回答
2

\f被翻译成一个特殊的符号。您需要将起始字符串转义为:

var str = "d:\\folder\\image.jpg";

此外,在替换语句中,如果要使其区分大小写,请考虑正则表达式:

str = str.replace(/D:\\/i, "http://ip/VDrive/");

但这会产生:http://ip/VDrive/folder\image.jpg

因此,将剩余的转换\为正斜杠:

str = str.replace(/\\/g, "/");
于 2013-05-28T07:55:25.450 回答
1

var str = "d:\folder\image.jpg";
var newstr = str.replace("d:\folder", "http://ip/VDrive/folder/");
console.log( newstr );

演示:jsFiddle

于 2013-05-28T07:52:44.430 回答
1

改变

var str = "d:\folder\image.jpg";

var str = "d:\\folder\\image.jpg";

那么它的工作原理!

于 2013-05-28T07:53:47.567 回答
0
// for a dynamic str
var file = str.split("\");
var to = "http://ip/VDrive/" + file[file.length-1]`
于 2013-05-28T07:52:04.527 回答
0
var str = "d:\\folder\\image.jpg";
result = str.replace("d:\\", "http://ip/VDrive/").replace(/\\/g, "/");
于 2013-05-28T07:55:47.593 回答