我对Javascript很陌生,无法找到我想要做的事情的答案。这就是我所拥有的。
我从有时采用以下格式的网页获取网址:http://url1.come/http://url2.com/dir/some/file.html
我想要做的是将第一部分剥离(http://urlhere.come/
)并仅返回第二部分:http://anotherUrlHere.com/dir/some/file.html
。
为了保持健壮,我不会特别寻找url1.com
,因为这可能在将来发生变化。然而,不会改变的是http:
有两次出现,所以我认为最好的方法是找到http
的第二次出现,然后在此之前去除所有内容。我现在确定如何。
实现这一目标的最佳方法是什么?感谢。
答案 0 :(得分:4)
使用正则表达式:
str = str.replace(/^http:\/\/.*http:\/\//, 'http://');
答案 1 :(得分:1)
基于Javascript .replace()
,当不与正则表达式一起使用时,只替换子字符串的第一次出现,您可以执行:
//Assuming url = "http://url1.come/http://url2.com/dir/some/file.html"
var result = url.replace("http://url1.come/", "");