Javascript 用java脚本提取字符串

Javascript 用java脚本提取字符串,javascript,Javascript,我有一个像这样的URL localhost:8080/myroot/dir1/dir2/myTestpage.do var myURL = "localhost:8080/myroot/"; 我需要像这样把字符串一直放到根上 localhost:8080/myroot/dir1/dir2/myTestpage.do var myURL = "localhost:8080/myroot/"; 我尝试过切片,但没有成功: var str = "localhost:8080/myroot/di

我有一个像这样的URL

localhost:8080/myroot/dir1/dir2/myTestpage.do
var myURL = "localhost:8080/myroot/";
我需要像这样把字符串一直放到根上

localhost:8080/myroot/dir1/dir2/myTestpage.do
var myURL = "localhost:8080/myroot/";
我尝试过切片,但没有成功:

var str = "localhost:8080/myroot/dir1/dir2/myTestpage.do";   
var myURL = str.split("/").slice(-3, -2).toString();
如何将字符串设置为“localhost:8080/myroot/”

小提琴是

如何从url模式中获取该字符串?

这应该可以:

var str = "localhost:8080/myroot/dir1/dir2/myTestpage.do";
var myURL = str.split('/').slice(0,2).join('/') + '/';
或者更简单地说:

var myURL = str.split('/', 2).join('/') + '/';
或者,您可以使用如下正则表达式:

var myURL = str.match(/[^\/]*\/[^\/]*\//)[0];
或者这个:

var myURL = str.match(/.*?\/.*?\//)[0];
这应该起作用:

var str = "localhost:8080/myroot/dir1/dir2/myTestpage.do";
var myURL = str.split('/').slice(0,2).join('/') + '/';
或者更简单地说:

var myURL = str.split('/', 2).join('/') + '/';
或者,您可以使用如下正则表达式:

var myURL = str.match(/[^\/]*\/[^\/]*\//)[0];
或者这个:

var myURL = str.match(/.*?\/.*?\//)[0];

您可以简单地执行以下操作:

var myURL = str.split("/");
myURL = myURL[0] + '/' + myURL[1];

小提琴链接:

您只需执行以下操作:

var myURL = str.split("/");
myURL = myURL[0] + '/' + myURL[1];

小提琴链接:

修改您的
var myUrl=
行将使其工作

var myURL = str.split("/").slice(0, 2).toString().replace(",", "/") + "/";

修改您的
var myUrl=
行将使其工作

var myURL = str.split("/").slice(0, 2).toString().replace(",", "/") + "/";

尝试
替换
匹配

myURL = myURL.match(/^(.*?\/){2}/)[0];
myURL = myURL.replace(/^((.*?\/){2}).*$/, '$1');
// (.*?\/){2} : everything until a slash, 2 times

尝试
替换
匹配

myURL = myURL.match(/^(.*?\/){2}/)[0];
myURL = myURL.replace(/^((.*?\/){2}).*$/, '$1');
// (.*?\/){2} : everything until a slash, 2 times

还有一个regex解决方案:

"localhost:8080/myroot/dir1/dir2/myTestpage.do".match(/^(https?:\/\/)?[^\/]+\/[^\/]+\//)[0];

还有一个regex解决方案:

"localhost:8080/myroot/dir1/dir2/myTestpage.do".match(/^(https?:\/\/)?[^\/]+\/[^\/]+\//)[0];
又快又脏:

var str = "localhost:8080/myroot/dir1/dir2/myTestpage.do";
var strSplit = str.split("/");
var myUrl = strSplit[0] + "/" + strSplit[1] + "/";
又快又脏:

var str = "localhost:8080/myroot/dir1/dir2/myTestpage.do";
var strSplit = str.split("/");
var myUrl = strSplit[0] + "/" + strSplit[1] + "/";

添加答案的子字符串版本:

var myURL = str.substring(0, str.indexOf('/', str.indexOf('/') + 1) + 1);

这里的键是
indexOf
的第二个参数,它创建一个开始搜索的偏移量。偏移量也是
str.indexOf('/')+1
,因此它正在查找第二个正斜杠作为
子字符串

的结束索引,添加子字符串版本的答案:

var myURL = str.substring(0, str.indexOf('/', str.indexOf('/') + 1) + 1);

这里的键是
indexOf
的第二个参数,它创建一个开始搜索的偏移量。偏移量也是
str.indexOf('/')+1
,因此它正在查找第二个正斜杠作为
子字符串的结束索引。工作得很好。谢谢,我刚刚用你的答案结束:——)太棒了。工作得很好。谢谢,我刚刚用你的答案结束:-)这也很好:-)这也很好:-)