2016-03-11 35 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); 
相關問題