使用 JS 或 Regex 拆分具有多个特殊字符的字符串
Split string with multiple special characters using JS or Regex
我有以下 URL queryString index.html?cars=honda+nissan&price=90+60+70
并且需要删除所有字符 =, +, &
。当我链接拆分时 returns split is not a function
期望的输出;
honda
nissan
90
60
70
JS:
const urlSearch = window.location.search;
const param = urlSearch.split('=')[1].split('&');
您应该定义要使用的查询部分,并且您应该以这种方式使用查询
const urlSearch = new URLSearchParams(window.location.search);
const param = urlSearch.get("cars").split('=')[1].split('&');
有关获取查询字符串的更多信息,请查看此处 https://flaviocopes.com/urlsearchparams/
在你的例子中,你想在查询字符串中拆分 car 的字符串,但你没有提到获取它然后使用它,所以数据将是未定义的,当你想调用一个函数时未定义的值将抛出以下错误
(FUNCTION)* is not a function
它可以是任何东西,例如 map
函数或任何其他东西
您可以使用 URL API 来迭代 searchParams
。
const str = 'http://index.html?cars=honda+nissan&price=90+60+70';
const params = new URL(str).searchParams;
for (const [key, value] of params.entries()) {
value.split(' ').forEach(el => console.log(el));
}
我有以下 URL queryString index.html?cars=honda+nissan&price=90+60+70
并且需要删除所有字符 =, +, &
。当我链接拆分时 returns split is not a function
期望的输出;
honda
nissan
90
60
70
JS:
const urlSearch = window.location.search;
const param = urlSearch.split('=')[1].split('&');
您应该定义要使用的查询部分,并且您应该以这种方式使用查询
const urlSearch = new URLSearchParams(window.location.search);
const param = urlSearch.get("cars").split('=')[1].split('&');
有关获取查询字符串的更多信息,请查看此处 https://flaviocopes.com/urlsearchparams/
在你的例子中,你想在查询字符串中拆分 car 的字符串,但你没有提到获取它然后使用它,所以数据将是未定义的,当你想调用一个函数时未定义的值将抛出以下错误
(FUNCTION)* is not a function
它可以是任何东西,例如 map
函数或任何其他东西
您可以使用 URL API 来迭代 searchParams
。
const str = 'http://index.html?cars=honda+nissan&price=90+60+70';
const params = new URL(str).searchParams;
for (const [key, value] of params.entries()) {
value.split(' ').forEach(el => console.log(el));
}