Given the two URLs below, I need to be able to tell which structure the url is in (either url1 structure or url2 structure) and then parse out both random strings. The domain name will be different each time so I can't hardcode in any specific domain name
url1 is in the form of domainname.com/q/{random-6-character-alphanumeric-string}?arg1=something&arg2=something
url2 is in the form of domainname.com/q/{random-6-character-alphanumeric-string}/{random-3-character-alphanumeric-string}?arg1=something&arg2=something
So for example, let's say:
url1 = mydomain.com/q/abc1de?arg1=something&arg2=something
url2 = mydomain.com/q/abc1de/b78?arg1=something&arg2=something
I tried just parsing url1
and was able to figure out parsedText1 = url.substring(url.lastIndexOf("/") 1).split("?")[0]
The problem is this does not work for url2
and I can't figure out how to write the code to distinguish between the two structures. How do I figure out which structure the url is in and then parse out the random strings accordingly?
CodePudding user response:
Maybe using URL.pathname
works for you?
const a = new URL(`http://domainname.com/q/a2qwer?something=1&anything=2`);
const b = new URL(`http://domainname.com/q/a2qwer/re2?something=1&anything=2`);
console.log(a.pathname);
console.log(b.pathname);