Javascript - 使用str.replace()清理字符串

时间:2010-12-24 01:04:28

标签: javascript

我有一个可分为3个部分的网址,我想要中间的网址。

网址就像这样

http://www.site.com/place?siteurl= http://www.thisIsWhatIwant.com/bla/bla/ &安培; XXX

XXX表示网址仍在继续,可能包含很多字符,包括%,括号,其他&符号,等号等...

我想要大胆的内容。换句话说,要摆脱siteurl =(包括等号)上的等号之前的所有内容,并且除去之后的第一个&符号之后的所有内容,包括&符号......所以,在清理之后它只会成为URL:

http://www.thisIsWhatIwant.com/bla/bla/

我如何使用Javascript的str.replace()?

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以使用String.match()提取 想要的文字,而不是删除您不想要的文字:

var s = "http://www.site.com/place?siteurl=http://www.thisIsWhatIwant.com/bla/bla/&XXX";
var middle = s.match(/siteurl\=(.*?)\&/i)[1];

答案 1 :(得分:1)

您不想在此使用String.replace,请使用String.split

if(window.location.search.indexOf('siteurl') > -1) {
   var siteurl = window.location.search.split('siteurl=')[1];
   siteurl = siteurl.substring(0, siteurl.indexOf('&'));
   //do something with siteurl...
} else {
   //siteurl is not in the URL.
}