Як замяніць радок URL

У мяне ёсць радок "D: \ тэчка \ image.jpg», і я хачу, каб змяніць яго на « Http: //ip/VDrive/folder/image.jpg ».

Я спрабаваў нешта накшталт гэтага:

var str = "D:\folder\image.jpg";
str = str.replace("D:\\", "http://ip/VDrive/");
result = str.replace("\\", "/");

але ён не працуе. Я адрэдагаваны знешнія JS файл непасрэдна з VS2008 Я спадзяюся, што гэта не мае нічога агульнага з ім.

Калі ласка, дапамажыце мне з гэтым.

0
JavaScript адчувальны да рэгістра, таму пераканайцеся, што выкарыстоўваць toLowerCase() або .toUpperCase() па меры неабходнасці. Якое выйсце з вынік ?
дададзена аўтар RemarkLima, крыніца
JavaScript адчувальны да рэгістра, таму пераканайцеся, што выкарыстоўваць toLowerCase() або .toUpperCase() па меры неабходнасці. Якое выйсце з вынік ?
дададзена аўтар RemarkLima, крыніца
Вы разумееце, ваша радок мае (у ніжнім рэгістры) d і вы спрабуеце замяніць (капітал) D ?
дададзена аўтар Jon, крыніца
Я спрабаваў змяніць яго капітал, але гэта па-ранейшаму тое ж самае. Дазвольце мне змяніць мой пост.
дададзена аўтар Chris N.P., крыніца
Я спрабаваў змяніць яго капітал, але гэта па-ранейшаму тое ж самае. Дазвольце мне змяніць мой пост.
дададзена аўтар Chris N.P., крыніца

11 адказы

\f is translated to a special symbol. You need to escape the starting string to:

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

Акрамя таго, у замене заявы, калі вы хочаце зрабіць гэта адчувальна да рэгістра разглядаць рэгулярныя выразы:

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

But this will produce: http://ip/VDrive/folder\image.jpg

Такім чынам, канвертаваць пакінутыя \ накіраваць слэш:

str = str.replace(/\\/g, "/");
2
дададзена
:) Так, вы сапраўды не трэба JavaScript наогул для гэтага. Вы можаце апрацоўваць ўсе на баку сервера.
дададзена аўтар Candide, крыніца
Калі гэты радок генеруюцца з дапамогай сервернага кода, вам неабходна дэзінфікаваць яго для JavaScript першага, гэта значыць зрабіць замену радковыя «\» з «\\» на боку сервера. Затым апрацаваць рэчы ў JavaScript, як я паказаў вышэй.
дададзена аўтар Candide, крыніца
Затым вы можаце зрабіць <% # Eval ( "FILEPATH"). ToString (). Replace ( "\\", "\\\\")%>
дададзена аўтар Candide, крыніца
Я спрабаваў, але ён не працуе па нейкай прычыне. Гэта тое, што я зрабіў: <�жэрах: LinkButton Runat = "сервер" CssClass = "lFilename" ID = "grdlinkFilename" Text = '<% # Eval ( "FILEPATH")%>' CommandArgument = '<% # Eval ( "FILEPATH «)%>» OnCommand = "grdlinkFilename_click" дадзеных ID = '<% # Eval ( "FILEPATH") ToString() Замяніць (.. "\\", "\\\\")%>'
дададзена аўтар Chris N.P., крыніца
О, я магу зрабіць гэта прама ў маім LinkButton?
дададзена аўтар Chris N.P., крыніца
Ён прыйшоў з гэтага: <�жэрах: LinkButton Runat = "сервер" CssClass = "lFilename" ID = "grdlinkFilename" Text = '<% # Eval ( "FILEPATH") ToString ()%>' CommandArgument = '<% # Eval ( "FILEPATH")%> »OnCommand =" grdlinkFilename_click "дадзеных ID = '<% # Eval (" FILEPATH ")%>'> </жэрах: LinkButton> Тады я зрабіў гэта ў файле Jquery: вынік вар = $ ( "#grdlinkFilename") АТР ( "дадзеныя-ідэнтыфікатар"). Я думаю, што ён будзе вяртаць адзін і той жа фармат, такі як «D: \ тэчка \ file.img».
дададзена аўтар Chris N.P., крыніца
На самай справе струна прыйшлі з <% Eval (FilePath)%>, які вяртае шлях да файла ў гэтым фармаце «D: \ тэчка \ image.jpg», напрыклад.
дададзена аўтар Chris N.P., крыніца
Які найлепшы спосаб замяніць зыходную радок «D: \ тэчка \ image.jpg» у «d: \ тэчка \ image.jpg»?
дададзена аўтар Chris N.P., крыніца

\f is translated to a special symbol. You need to escape the starting string to:

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

Акрамя таго, у замене заявы, калі вы хочаце зрабіць гэта адчувальна да рэгістра разглядаць рэгулярныя выразы:

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

But this will produce: http://ip/VDrive/folder\image.jpg

Такім чынам, канвертаваць пакінутыя \ накіраваць слэш:

str = str.replace(/\\/g, "/");
2
дададзена
:) Так, вы сапраўды не трэба JavaScript наогул для гэтага. Вы можаце апрацоўваць ўсе на баку сервера.
дададзена аўтар Candide, крыніца
Калі гэты радок генеруюцца з дапамогай сервернага кода, вам неабходна дэзінфікаваць яго для JavaScript першага, гэта значыць зрабіць замену радковыя «\» з «\\» на боку сервера. Затым апрацаваць рэчы ў JavaScript, як я паказаў вышэй.
дададзена аўтар Candide, крыніца
Затым вы можаце зрабіць <% # Eval ( "FILEPATH"). ToString (). Replace ( "\\", "\\\\")%>
дададзена аўтар Candide, крыніца
Я спрабаваў, але ён не працуе па нейкай прычыне. Гэта тое, што я зрабіў: <�жэрах: LinkButton Runat = "сервер" CssClass = "lFilename" ID = "grdlinkFilename" Text = '<% # Eval ( "FILEPATH")%>' CommandArgument = '<% # Eval ( "FILEPATH «)%>» OnCommand = "grdlinkFilename_click" дадзеных ID = '<% # Eval ( "FILEPATH") ToString() Замяніць (.. "\\", "\\\\")%>'
дададзена аўтар Chris N.P., крыніца
О, я магу зрабіць гэта прама ў маім LinkButton?
дададзена аўтар Chris N.P., крыніца
Ён прыйшоў з гэтага: <�жэрах: LinkButton Runat = "сервер" CssClass = "lFilename" ID = "grdlinkFilename" Text = '<% # Eval ( "FILEPATH") ToString ()%>' CommandArgument = '<% # Eval ( "FILEPATH")%> »OnCommand =" grdlinkFilename_click "дадзеных ID = '<% # Eval (" FILEPATH ")%>'> </жэрах: LinkButton> Тады я зрабіў гэта ў файле Jquery: вынік вар = $ ( "#grdlinkFilename") АТР ( "дадзеныя-ідэнтыфікатар"). Я думаю, што ён будзе вяртаць адзін і той жа фармат, такі як «D: \ тэчка \ file.img».
дададзена аўтар Chris N.P., крыніца
На самай справе струна прыйшлі з <% Eval (FilePath)%>, які вяртае шлях да файла ў гэтым фармаце «D: \ тэчка \ image.jpg», напрыклад.
дададзена аўтар Chris N.P., крыніца
Які найлепшы спосаб замяніць зыходную радок «D: \ тэчка \ image.jpg» у «d: \ тэчка \ image.jpg»?
дададзена аўтар Chris N.P., крыніца
var str = "d:\\folder\\image.jpg";     # Escape here
str = str.replace("d:\\", "http://ip/VDrive/");    # Case sensitive
result = str.replace("\\", "/");
2
дададзена
var str = "d:\\folder\\image.jpg";     # Escape here
str = str.replace("d:\\", "http://ip/VDrive/");    # Case sensitive
result = str.replace("\\", "/");
2
дададзена

змена

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

у

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

то гэта працуе!

1
дададзена

рабіць

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

Demo: jsFiddle

1
дададзена

рабіць

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

Demo: jsFiddle

1
дададзена
var str = "d:\\folder\\image.jpg";
result = str.replace("d:\\", "http://ip/VDrive/").replace(/\\/g, "/");
0
дададзена
var str = "d:\\folder\\image.jpg";
result = str.replace("d:\\", "http://ip/VDrive/").replace(/\\/g, "/");
0
дададзена
// for a dynamic str
var file = str.split("\");
var to = "http://ip/VDrive/" + file[file.length-1]`
0
дададзена
// for a dynamic str
var file = str.split("\");
var to = "http://ip/VDrive/" + file[file.length-1]`
0
дададзена