如何替换字符串url

时间:2013-05-28 07:47:02

标签: javascript

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

请帮助我。

6 个答案:

答案 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, "/");