javascript查找字符串并删除以下所有字符

时间:2012-07-26 11:31:53

标签: javascript

  

可能重复:
  Remove everything after a certain character

如果我有

var shot = www.site.com/ask

我想删除“/”之后的所有字符(包括“/”)。 所以结果将是

www.site.com

注意:镜头是动态变化的值 这一切都将在javascript上完成。

7 个答案:

答案 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(/\/.+/, '');