Javascript-拆分和合并-删除前3个数组

时间:2019-03-26 10:09:04

标签: javascript jquery

链接-拆分并删除前3个数组。

offerlink变量将具有多个URL。但是,/ content / revamp / en对于所有链接都将保持不变。必须从路径名中删除它。

offerlink2-正常工作。但是,offerLink1也可以通过排除/ hotels / india得到结果。该网址是必需的。

offerlInk1和offerLink2必须使用相同的代码。

JS:

    var offerlink = /content/revamp/en/hotels/india/offers/purchase.html
    var offerLinkSplit = $offerLink.replace(/\.\w+$/, '').split('/');
    var offerLinkTrim = $offerLinkSplit.slice(-2).join('/');

获取输出(错误)= /提供/购买

需要的输出= / hotels / india / offers / purchase


如果下面的链接表示/content/revamp/en/offers/quick-deal.html

正确的输出= / offers / quick-deal

4 个答案:

答案 0 :(得分:1)

尝试使用*p提取输入中第4个slice(4)

/

请注意,字符串需要包含在定界符中,并且您需要使用一致的变量名。

在这里单独使用正则表达式可能会更好:匹配var $offerLink1 = '/content/revamp/en/hotels/india/offers/purchase.html' var offerLinkSplit1 = $offerLink1.replace(/\.\w+$/, '').split('/'); var offerLinkTrim1 = '/' + offerLinkSplit1.slice(4).join('/'); console.log(offerLinkTrim1);的3个重复,并替换为空字符串:

/<anything but />

答案 1 :(得分:0)

如果/content/revamp/en始终保持不变,只需获取子字符串

var offerlink1 = '/content/revamp/en/hotels/india/offers/purchase.html';
var removeText = '/content/revamp/en';
console.log(offerlink1.substring(removeText.length))

答案 2 :(得分:0)

slice(-2)仅使用最后2 个元素。

要删除前三个,请使用slice(3)

有关更多信息,请参见docs

答案 3 :(得分:0)

var offerlink = /content/revamp/en/hotels/india/offers/purchase.html
var offerLinkSplit = $offerLink.replace(/\.\w+$/, '').split('/');
var offerLinkSplitLength = offerLinkSplit.length;
var offerLinkTrim = offerLinkSplit.slice(4,offerLinkSplitLength).join('/');