Javascript 用java脚本提取字符串
我有一个像这样的URLJavascript 用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
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
,因此它正在查找第二个正斜杠作为子字符串的结束索引。工作得很好。谢谢,我刚刚用你的答案结束:——)太棒了。工作得很好。谢谢,我刚刚用你的答案结束:-)这也很好:-)这也很好:-)