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

如何在JavaScript中从URL获取ID?

从Microsoft Stream URL优雅提取视频ID的方法

嘿,这个需求太常见了!用简单的字符串分割确实能临时解决,但如果后面URL加了查询参数(比如?t=10)或者路径末尾多了个/,就容易出问题。下面分享几个更健壮、优雅的方法:

1. 利用URL标准解析API(首推)

几乎所有主流编程语言都内置了URL解析工具,能直接拆解URL的各个组成部分,不用自己手动处理字符串边界,适应性极强:

JavaScript示例

const url = new URL("https://web.microsoftstream.com/video/223ac74c-0a2f-4f36-b78b-a8ad8a6e3009");
// 分割路径并过滤空值,取最后一段
const videoId = url.pathname.split('/').filter(Boolean).pop();
console.log(videoId); // 输出:223ac74c-0a2f-4f36-b78b-a8ad8a6e3009

Python示例

from urllib.parse import urlparse

url = "https://web.microsoftstream.com/video/223ac74c-0a2f-4f36-b78b-a8ad8a6e3009"
parsed_url = urlparse(url)
# 直接取路径分割后的最后一段
video_id = parsed_url.path.split('/')[-1]
print(video_id)

这个方法的优势是自动兼容URL的各种变体:哪怕URL变成https://web.microsoftstream.com/video/223ac74c-0a2f-4f36-b78b-a8ad8a6e3009/?foo=bar,也能正确提取ID。

2. 正则表达式匹配(精准定位UUID)

你的视频ID是标准的UUID(8-4-4-4-12格式),可以用正则直接匹配整个UUID字符串,不管它在URL的哪个位置(只要是作为视频ID的场景):

const url = "https://web.microsoftstream.com/video/223ac74c-0a2f-4f36-b78b-a8ad8a6e3009";
// 匹配UUID的正则,忽略大小写
const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
const matchResult = url.match(uuidRegex);
const videoId = matchResult ? matchResult[0] : null;

这种方法精准度拉满,哪怕URL结构有小调整,只要UUID存在就能抓取到。

3. 框架专用工具(可选)

如果你的项目用了特定框架/库(比如ASP.NET、React生态的工具),可能有专门处理Microsoft Stream链接的工具类,但上面两种通用方法已经能覆盖99%的场景了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:20:19