2009-06-21 2 views
1

나는이 URL의 일부만 잡거나 문자열 중 일부를 삽입하려고합니다 (둘 중 가장 단순한 것). 같은Javascript/jQuery 문자열 조작?

http://www.goodbuytimeshare.com/listings/ajax/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/start:1/end:100/ 

(:

/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/ 

또는으로 바꿀 : 내가 하나가 아래로 팀에 수 있어야 파악

http://www.goodbuytimeshare.com/listings/min:1000/max:150000/agreements:rent,buy/properties:apartment,condo,hotel,resort/show:4/ 

: 여기

는 URL의 ".com /"다음에 'ajax /'가 추가됩니다.)

다음 중 어느 것이 더 간단할까요?

답변

3

간단하고 정규식을 사용하십시오!

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]; 

그러나, now you have two problems. ;-)

0

여기에 정규식이 아닙니다. 물론 정규식은 간결합니다.

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