获取 URL 路径的一部分并将值存储在字符串中
Get portion of URL path and store value in string
所以我有下面的代码,我正在尝试获取 URL 的商店名称部分,中间没有乱码值。
let storeName = request.url.split('/');
console.log("storeName before: ", storeName);
storeName = storeName.toString().replace("%20", " ");
storeName = storeName.toString().replace("%20", " ");
storeName = storeName.toString().replace(",data,", " ");
console.log("storeName after: ", storeName);
我试图摆脱出现在 URL 中的 %20 符号和“,数据”部分,但我无法将整个 URL 范围缩小到仅字符串“Sarah's Day Salon”并将该值分配给 storeName 变量。现在,我能够将字符串缩小到下方,但字符串开头存在巨大的间距问题,而且我也不确定这是否是捕捉“Sarah's Day Salon”部分的最有效方式来自 URL。我想知道是否有人对我如何将 URL 缩小到仅商店名称有任何建议?
从上面的代码打印值:
storeName before: [ '', 'data', "Sarah's%20Day%20Salon" ]
storeName after: Sarah's Day Salon
你可以使用 decodeURI 函数,无需将 %20s 替换为 " ",只需按原样解析 url,它将删除所有特殊字符。
const url = "/data/Sarah's%20Day%20Salon";
const decodedString = decodeURI(url);
const stringArray = decodedString.split('/');
const storeName = stringArray[stringArray.length - 1]
console.log(storeName);
所以我有下面的代码,我正在尝试获取 URL 的商店名称部分,中间没有乱码值。
let storeName = request.url.split('/');
console.log("storeName before: ", storeName);
storeName = storeName.toString().replace("%20", " ");
storeName = storeName.toString().replace("%20", " ");
storeName = storeName.toString().replace(",data,", " ");
console.log("storeName after: ", storeName);
我试图摆脱出现在 URL 中的 %20 符号和“,数据”部分,但我无法将整个 URL 范围缩小到仅字符串“Sarah's Day Salon”并将该值分配给 storeName 变量。现在,我能够将字符串缩小到下方,但字符串开头存在巨大的间距问题,而且我也不确定这是否是捕捉“Sarah's Day Salon”部分的最有效方式来自 URL。我想知道是否有人对我如何将 URL 缩小到仅商店名称有任何建议?
从上面的代码打印值:
storeName before: [ '', 'data', "Sarah's%20Day%20Salon" ]
storeName after: Sarah's Day Salon
你可以使用 decodeURI 函数,无需将 %20s 替换为 " ",只需按原样解析 url,它将删除所有特殊字符。
const url = "/data/Sarah's%20Day%20Salon";
const decodedString = decodeURI(url);
const stringArray = decodedString.split('/');
const storeName = stringArray[stringArray.length - 1]
console.log(storeName);