如果我有
var shot = www.site.com/ask
我想删除“/”之后的所有字符(包括“/”)。 所以结果将是
www.site.com
注意:镜头是动态变化的值 这一切都将在javascript上完成。
答案 0 :(得分:2)
'www.site.com/ask'.split('/', 1)[0]; // => www.site.com
答案 1 :(得分:1)
假设您想要/
之前的所有内容,您可以找到该字符的索引并返回其前面的子字符串:
var shot = "www.site.com/ask";
var index = shot.indexOf("/");
var result;
if (index < 0) {
result = shot;
} else {
result = shot.substr(0, index);
}
// result = "www.site.com"
如果您希望从包含协议的字符串中获取域名,例如http://www.site.com/ask
并获取www.site.com
然后您需要包含其他逻辑,因为上面的代码会返回http:
。
答案 2 :(得分:1)
var shot = 'www.site.com/ask';
var site = shot.replace(/\/.*$/,'');
site
现在将包含www.site.com
答案 3 :(得分:1)
试试这个:
/^(.*?)\//.exec(shot)[1]
或:
shot.match(/^[^\/]*/)[0]
答案 4 :(得分:1)
您可以让浏览器为您解析:
var a = document.createElement("a");
a.href = "http://" + "www.site.com/ask";
alert(a.hostname);
//"www.site.com"
答案 5 :(得分:1)
最简单的非正则表达方式是
shot = shot.substr(0, shot.indexOf('/'));
但这并不能说明存在http://
或类似情况。为此,你需要一个正则表达式。
shot = shot.replace(/([^\/])\/([^\/].*)?$/, '$1');
答案 6 :(得分:0)
这是一个正则表达式,它将删除第一个斜杠后的所有内容
var shot = 'www.site.com/ask';
shot.replace(/\/.+/, '');