【问题标题】:How can I extract certain content from a string [duplicate]如何从字符串中提取某些内容[重复]
【发布时间】:2016-01-07 14:04:16
【问题描述】:

我有某些网址,例如:

http://www.moneycontrol.com/news/business/vistaras-turbulent-takeoffthe-cut-throat-indian-skies_3510081.html
http://www.business-standard.com/article/markets/patanjali-ayurved-targets-250-revenue-growth-in-fy16-edelweiss-115100900788_1.html

这些可以是任何网站 URL。如何从内容中提取www.moneycontrol.comwww.business-standard.com

【问题讨论】:

  • 看看gist.github.com/acdcjunior/9820040var myDomain = new ParsedUrl("http://www.moneycontrol.com/news/business/vistaras-turbulent-takeoffthe-cut-throat-indian-skies_3510081.html").host;
  • 这里是不使用拆分的版本:var domains = urls.map(function(url) { var a = document.createElement("a"); a.href=url; return a.hostname; });

标签: javascript regex string


【解决方案1】:

您基本上需要来自 url 的域。你可以这样得到它:

function extractDomain(url) {
    var domain;

    if (url.indexOf("://") > -1) 
        domain = url.split('/')[2];
    else 
        domain = url.split('/')[0];

    return domain.split(':')[0];
}

【讨论】:

    【解决方案2】:

    这可以通过两个split 函数轻松完成,将字符串拆分为数组。

    var path = string.split("://")[1].split('/')[0]
    

    这会给你一个类似 www.moneypath.com 的 URL。

    如果您只想获取 url 名称,通过消除 www..com,这两个都可以。

    path.replace(/(www.)|(.com)/g, '')
    

    您也可以再次使用拆分方法

    path.split('www.')[1].split('.com')[0]
    

    就个人而言,我更喜欢 Regex 方法,因为它更简洁。

    【讨论】:

    • 如果您不介意是否可以消除 www。还有.com ??
    • 好的,看看我的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2015-09-28
    相关资源
    最近更新 更多