JS Beginner here. I need to return itemName from a URL string, however, there are colons in the URL itself. When I split using ("""), I get an error that this won't work.
I have gotten this far, but I don't know what to change in my function to get the desired result. See the examples below:
Below is the URL:
"https://www.website.com/items/item-name-1"+"?date_1=2022-10-05&date_2=2022-10-07&amount=2"
Below you can see my code.
if ({{Outgoing link}})
var itemName= {{Click URL}};
return itemName.split("/")[5].split(".")[0];
console.log(extractSliceFromUrl(itemName))
}
This is my expected result:
"item-name-1"
This is the actual result I get:
"item-name-1"+"?date_1=2022-10-05&date_2=2022-10-07&amount=2"
Would the following work?
It extracts whatever's between the last / and the first "+".
const url = "\"https://www.website.com/items/item-name-1\"+\"?date_1=2022-10-05&date_2=2022-10-07&amount=2\"";
console.log(url.substring(url.lastIndexOf('/') + 1, url.indexOf('"+"')));
I'd split by ? first:
const theURL = "https://www.website.com/items/item-name-1"+"?date_1=2022-10-05&date_2=2022-10-07&amount=2";
theURL.split("?")[0].split("/")[5].split(".")[0];
With the secondary result, you could just remove the ending using:
'"item-name-1"+"?date_1=2022-10-05&date_2=2022-10-07&amount=2"'.replace(/("[^"]+?")\+/, '$1')
/("[^"]+?")\+/ (RegExp)(...) catch the pattern (becomes the $1)[^"] everything not "+? get the shortest result possible\+ escape + (+ is a special symbol, this will treat it as plain text)