You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript动态函数提取短横线分隔URL中的城市名称

JavaScript提取带固定后缀URL slug中的城市名

需求说明

需要处理一批酒店类页面的URL路径字符串,所有字符串统一以-hotels作为结尾后缀,城市名本身可能包含短横线,提取时需要保留城市名内部的短横线,仅移除末尾固定的-hotels后缀。

输入样例

karachi-hotels
abu-dubai-hotels
phi-phi-island-hotels
phi-phi-hotels
kaula-lampur-hotels

预期输出

karachi
abu-dubai
phi-phi-island
phi-phi
kaula-lampur

实现代码

直接用带结尾锚点的正则替换即可,这种写法可以保证只删除字符串最末尾的-hotels后缀,不会误删城市名内部可能出现的相同片段,兼容性最好。

function extractCityFromHotelSlug(slug) {
  // 正则末尾的$表示仅匹配字符串结尾位置的-hotels
  return slug.replace(/-hotels$/, '');
}

批量处理示例

如果需要一次性处理整组字符串,直接遍历调用函数即可:

const inputSlugs = [
  'karachi-hotels',
  'abu-dubai-hotels',
  'phi-phi-island-hotels',
  'phi-phi-hotels',
  'kaula-lampur-hotels'
];

const result = inputSlugs.map(extractCityFromHotelSlug);
console.log(result);
// 输出: [ 'karachi', 'abu-dubai', 'phi-phi-island', 'phi-phi', 'kaula-lampur' ]

注意事项

不要使用slug.split('-hotels')[0]这类写法,一旦城市名本身包含-hotels片段(例如虚构地名hotels-creek-hotels),这种写法会提前截断字符串,返回错误结果。使用带$结尾锚点的正则可以完全避免这个问题。

内容的提问来源于stack exchange,提问作者Sunny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 18:15:59