Я пытаюсь либо захватить только часть этого URL, либо вставить в него часть строки (в зависимости от того, что проще).
Вот URL:
http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/
Полагаю, мне тоже нужно уметь это делать:
/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/
Или превратить в:
http://www.goodbuytimeshare.com/listings/ajax/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/start:1/end:100/
(тот же URL, но «ajax /» будет добавлен после «.com /»)
Что из этого будет проще?
Просто, используйте регулярное выражение!
var myString = "http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/"; var matches = (/^http:\/\/[a-zA-Z0-9\.]+(\/.+)$/).exec(myString); var mySubString = matches[1];
Хотя, теперь у вас есть две проблемы . ; -)
Вот решение без регулярных выражений. Конечно, регулярное выражение является кратким.
var original = "http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/"; // split into an array of separate fields var fields = original.split("/") var results = ""; for (i=0;i < fields.length;i++) { // Insert ajax/ in the fourth position if (i == 3) { results += "ajax/"; } results += fields[i] // don't put the slash on the last item if (i < (fields.length -1)) { results += "/"; } } // write out the results and append more document.write(results + "start:1/end:100/");