在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中的字符串中的'='之后解析和提取[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 RegEx 搜索术语并提取其前后的字符 [重复]

从Javascript中的URL中提取一部分[重复]

[Js-Java SE]字面值

无法将应用程序/八位字节流解析为节点 js 中的图像

js利用正则表达式提取字符串中的特殊字符串

excel 如何提取某个字后面的几个文字?