使用 javascript 获取域子字符串

get domain substring using javascript

我正在尝试解析字符串中包含两个以上句点的域。

例如,我试图将 sjmktmail-batch1a.marketo.org 变成 marketo.org

我尝试使用拆分和列表中的范围,如下所示:

testdata = sjmktmail-batch1a.marketo.org
testdata.split(".")[1:2]

但这没有用。 做 testdata.split(".")[1] 会出现 marketo 但我想要 marketo.org

抱歉,我的主要语言是 python,所以一些 javascript 概念让我感到困惑。我假设您无法使用 [x:x]

获得 array/list 的范围

我的主要目标是获得像 domain.com

这样的域名

例如:

fdasdadio.conglomo.com 将是 conglomo.com billy.fdaoco.codsaso.mainbug.com 将是 mainbug.com purple.red.bri.noschool.edu 将是 noschool.edu

很确定我错过了一个能让这变得简单的概念。

一行代码:

"sjmktmail-batch1a.marketo.org".split('.').slice(1).join('.')

    const input = "sjmktmail-batch1a.marketo.org";
    var data =input.split('.')      // ["sjmktmail-batch1a", "marketo", "org"]
    data = data.slice(1);           // ["sjmktmail-batch1a"]
    const output = data.join('.');  // "marketo.org"
    console.log(output);

就像拆分字符串并获取字符串的最后两个元素一样简单,对吧?

var str = "sjmktmail-batch1a.marketo.org"
var arr = str.split(".");
console.log(arr[arr.length-2]+"."+arr[arr.length-1])

您可以通过一系列 splitslicejoin 来完成。像这样:

slice(-2) 表示从数组中获取最后两项。

const str = 'billy.fdaoco.codsaso.mainbug.com';
const domain = str.split('.').slice(-2).join('.');
console.log(domain)