在JS中的字符串中的'='之后解析和提取[重复]
Posted
技术标签:
【中文标题】在JS中的字符串中的\'=\'之后解析和提取[重复]【英文标题】:Parse and extract after '=' in a string in JS [duplicate]在JS中的字符串中的'='之后解析和提取[重复] 【发布时间】:2018-04-18 04:41:55 【问题描述】:假设我的 url atm 是
http://test.com/?city=toronto
我可以得到 requestURL 字符串
/?city=toronto
从这里开始,我想知道是否有内置函数或标准程序从字符串中提取单词“toronto”或=
之后的任何其他单词。
【问题讨论】:
【参考方案1】:执行此操作的标准程序(如您所述),您可以获得所有参数值,包括城市的值或您可以添加到其中的任何其他参数。
var values = new URL('http://test.com/?city=toronto').searchParams.values();
for(var value of values)
console.log(value);
更新
正如@taystack在评论中提到的,如果你在这种情况下只想要特定参数(城市)的值,你可以使用:
new URL('http://test.com/?city=toronto').searchParams.get('city');
【讨论】:
new URL('http://test.com/?city=toronto').searchParams.get("city")
也可以完成这项工作。
肯定会的。感谢您添加此内容。【参考方案2】:
使用 split();
var url = '/?city=toronto'.split('=');
console.log(url[1]);
【讨论】:
像/?city=toronto&search=burgers
这样的查询可能会破坏这一点。
在这种情况下,你会得到一个数组,其中另一个用 & 分割,但你必须注意索引【参考方案3】:
Node.js 有一个名为 URL 的新模块,它对 url 字符串的语义进行编码。你不需要做任何字符串操作。
const URL = require('url')
let my_url = new URL('http://test.com/?city=toronto')
URL#search 返回代表搜索的字符串:
my_url.search // '?city=toronto'
URL#query 返回不包括?
的搜索字符串:
my_url.query // 'city=toronto'
并且 URL#searchParams 返回一个编码搜索字符串的对象:
my_url.searchParams // something kind of like 'city':'toronto'
my_url.searchParams.get('city') // 'toronto'
my_url.searchParams.keys() // ['city'] (all the keys)
my_url.searchParams.values() // ['toronto'] (all the values)
【讨论】:
以上是关于在JS中的字符串中的'='之后解析和提取[重复]的主要内容,如果未能解决你的问题,请参考以下文章