You need to enable JavaScript to run this app. TypeScript中如何删除字符串内的子域名并保留主域名
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何删除字符串内的子域名并保留主域名

TypeScript 截取主域名实现方案

核心实现逻辑

你的需求为删除字符串中第一个英文句点及之前的所有内容,以下是两种可直接使用的实现方式:

方法1:indexOf+substring实现(性能最优,推荐)

直接定位第一个句点位置后截取剩余内容,无需拆分整个字符串,性能更优:

function getMainDomain(domain: string): string {
  const firstDotPos = domain.indexOf('.');
  // 适配无句点的异常输入场景,可根据业务需求调整为抛出错误
  if (firstDotPos === -1) return domain;
  return domain.substring(firstDotPos + 1);
}

方法2:split拆分拼接实现(代码更简洁)

将域名按句点拆分后丢弃第一段,再重新拼接为字符串:

function getMainDomain(domain: string): string {
  const domainSegments = domain.split('.');
  if (domainSegments.length < 2) return domain;
  return domainSegments.slice(1).join('.');
}

效果验证

两种方法都可以覆盖你提到的所有场景:

  • 输入subdomain.domain.com → 输出domain.com
  • 输入sub.domain.com → 输出domain.com
  • 输入subdomain.new-domain.com → 输出new-domain.com

补充说明

如果你的业务场景存在com.cn、co.uk这类国家/地区级二级域名后缀,以上基础方法不适用,需要额外对接公共后缀规则库做适配,当前方案完全匹配你提出的核心逻辑需求。

内容的提问来源于stack exchange,提问作者Web Develop Wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 17:36:03