2013-10-22 172 views
-1

我试图找出替换2个其他字符串之间的字符串的最佳方法。我相信正则表达式对此是必要的。Javascript正则表达式替换2个字符串之间的字符串

输入字符串: “http://domainabc.com/dir1/dir2

输出字符串: “http://domainxyz.com/dir1/dir2

只有域将改变 - 而不是子目录。

+3

请问标准['.replace()'](http://www.w3schools.com/jsref/jsref_replace.asp)功能为你在这种情况下无法正常工作?例如:'str = str.replace('domainabc.com','domainxyz.com');' – newfurniturey

+0

它不会。将有多个域需要切换。有时,域名将是domainabc.com,有时domainxyz.com有时会domain123.com等。 – Dan

+0

给出一个或多个您尝试过的例子,以及您遇到的问题,并且有人可能会帮助您。 – RobertB

回答

1

也许你正在寻找改变当前域名而不打扰域名是什么。试试这个代码:

var s = "http://domainabc.com/dir1/dir2"; 
repl = s.replace(/\b(https?:\/\/)[^/]+(.+)$/, "$1domainxyz.com$2"); 
//=> http://domainxyz.com/dir1/dir2 
+0

我在此期间找到了解决方法。但是,这是我最初寻找的答案。谢谢! – Dan

+0

不客气。 – anubhava