javascript - JavaScript - 在 URL 中的两个字符之间获取字符串的更简洁的方法?
问题描述
有没有比这更简洁或更标准的方法来获取 URL 的最后一个斜杠和查询问号之间的字符串?
const recordId= window.location.href.split("item/")[1].split("?")[0]
在这种情况下,我使用item/
的是因为我的 URL 总是:
mysite.com/item/recordIdIwantToGrab ? foo =bar&life=42
解决方案
正则表达式可以做到这一点 - 匹配 a /
,后跟单词字符,直到 a ?
。
const str = 'mysite.com/item/recordIdIwantToGrab?foo=bar&life=42';
const result = str.match(/\/(\w+)\?/)[1];
console.log(result);
\/
- 匹配文字/
(\w+)
- 捕获组,匹配单词字符\
- 匹配文字?
[1]
- 提取捕获组匹配的值
推荐阅读
- java - Android:单击提交按钮后将“等待”字符串数据发送到数据库
- c# - 如何将 yaml 文件中的参数传递给我们的代码
- typescript - 为什么 TypeScript 不自动检查“this”变量的类型安全?
- c - 我正在尝试为数独创建一个函数来检查 1-9 中的数字是否不重复
- java - 安装按钮不适用于我的 APK 文件
- css - 手机访问时如何更改徽标的背景图片?
- python - 如何将图像的名称替换为其分类?分类在 csv 文件中
- git - 通过“递归”策略进行合并
- python - 如何使用 sys.settrace 跟踪在全局范围内运行的代码?
- sql - SQL 子查询大于/小于运算符