2016-03-11 34 views
1

不知道我怎么会去写一个公式来做到这一点。我需要做的:的Javascript,插入串到另一个URL字符串

current_url = "http://something.random.com/something/something/upload/something/something_else" 
new_url = "http://something.random.com/something/something/upload/{NEWSOMETHING}/something/something_else" 

基本上我总是试图插入另一张弦线段恰好在原始URL中的upload/之后。我曾考虑过使用position,但我没有固定位置,因为current_url的长度并不总是相同。唯一不变的是,我所知道的字符串需要upload/后要插入,无论它可能是

回答

7
current_url.replace("upload/","upload/{NEWSOMETHING}/") 

如果字符串是VAR current_url = "http://something.random.com/something/something/upload/something/c_fit/something_else/c_fit/";,你想在上传和最后c_fit之间,以取代一切,然后current_url.replace(/\/upload\/.*\/c_fit\//,"/upload/"+"<YOUR_STRING>"+"/c_fit/")但你只是想上传和第一c_fit之间更换则current_url.replace(/\/upload\/.*?\/c_fit\//,"/upload/"+"<YOUR_STRING>"+"/c_fit/")

+0

最好的地方,了解的JavaScript API w3schools.com :) – vcosk

+0

这是一个绝妙的主意......它永远不会发生在我身上,因为我是在不改变上传如此迷恋! – james

+0

其实@vcosk,原来代码并不总是那么简单。我需要替换“上传/ [任何文本,不管] c_fit”。基本上,'upload /'和'c_fit'之间的文本是被替换的文本,但是它们之间的文本在长度,字符等方面有所不同。你知道一种方法来做到这一点吗?很高兴提出第二个问题,刚才我想问问你有没有另一个好主意! – james

0
var current_url = "http://something.random.com/something/something/upload/something/something_else"; 

var chunks = current_url.split("/"); 

var str = []; 

var s = chunks.shift(); 
while(s != "upload"){ 
    str.push(s); 
    s = chunks.shift(); 
} 

var new_url = str.join('/')+"/upload/{new something}/something/something_else"; 

alert(new_url); 
0

您可以轻松地劈在静态文本“上传”的字符串。

var current_url = "http://something.random.com/something/something/upload/something/something_else"; 
    var splitArray = current_url.split("upload"); 
    var additionalParameter = "What_ever_comes_after_upload" 
    var new_url = splitArray[0] + "upload/" + additionalParameter + splitArray[1]; 

alert(new_url); 
相关问题