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

如何使用JavaScript从字符串/products/id/edit中提取子串products?

提取子串"products"的几种JavaScript方法

嘿,这事儿挺简单的,给你分享几种实用的实现方式,根据你的场景选就行:

  • 使用split()方法(最直观)
    这个方法适合格式固定的路径字符串,把字符串按斜杠/分割成数组,直接取对应位置的元素:

    const path = "/products/id/edit";
    const productPart = path.split('/')[1];
    console.log(productPart); // 输出 "products"
    

    解释:split('/')会把原字符串拆成["", "products", "id", "edit"],因为开头的斜杠会生成一个空字符串在数组第一位,所以索引1就是我们要的内容。

  • 使用正则表达式(更灵活,适合复杂场景)
    如果需要应对一些格式变化(比如路径开头可能没有斜杠),正则表达式能更精准匹配:

    const path = "/products/id/edit";
    const regex = /^\/?([^\/]+)/; // 允许开头的斜杠可选
    const matchResult = path.match(regex);
    const productPart = matchResult ? matchResult[1] : "";
    console.log(productPart); // 输出 "products"
    

    解释:^\/?匹配开头的可选斜杠,([^\/]+)捕获第一个斜杠(或字符串开头)到下一个斜杠之间的所有字符,也就是我们要的products。

  • 使用indexOf()和slice()(手动截取)
    手动定位斜杠的位置,然后截取中间的子串,适合需要更精细控制的场景:

    const path = "/products/id/edit";
    const firstSlashIndex = path.indexOf('/');
    const secondSlashIndex = path.indexOf('/', firstSlashIndex + 1);
    const productPart = path.slice(firstSlashIndex + 1, secondSlashIndex);
    console.log(productPart); // 输出 "products"
    

    解释:先找到第一个斜杠的位置,再找到它后面的第二个斜杠位置,最后用slice()截取两者之间的内容。

如果你的路径格式是固定的,split()方法无疑是最简洁的;如果需要处理一些边缘情况(比如路径不完整),正则或者手动截取的方式能更稳妥地处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:38:01