链接 - 拆分并删除前 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('/');
获取输出(错误)=/offers/purchase
所需输出 =/hotels/india/offers/purchase
<小时/>如果下面的链接意味着/content/revamp/en/offers/quick-deal.html
正确输出 =/offers/quick-deal
最佳答案
尝试使用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);
请注意,字符串需要用分隔符括起来,并且需要使用一致的变量名称。
不过,单独使用正则表达式可能会更好:匹配 /<anything but />
的 3 次重复,并替换为空字符串:
var $offerLink1 = '/content/revamp/en/hotels/india/offers/purchase.html';
var $offerLink2 = '/content/revamp/en/offers/quick-deal.html';
const re = /(?:\/[^/]+){3}/;
console.log(
$offerLink1.replace(re, ''),
$offerLink2.replace(re, '')
);
关于Javascript - 拆分和连接 - 删除前 3 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55354466/