I'm trying to replace the last forward slash in a series of url strings, to exchange that forward slash for a number sign, like so -
http://example.com/about/our-company
to
http://example.com/about#our-company
Using JS with jQuery I've tried applying the replace function on each string but not sure as how to target just the last forward slash.
$('.submenu a').each(function() {
var url = $(this).attr('href');
url = url.replace(/\//g, '#');
console.log(url);
// replaces all
});
You can try splitting Url based on /
:
url = 'http://example.com/about/our-company';
tokens = url.split('/');
expected_url = tokens.slice(0, tokens.length-1).join('/') + '#' + tokens[tokens.length-1];
console.log(expected_url);
# Prints 'http://example.com/about#our-company'
Try this:
var str = "http://one/two/three/four";
console.log(str.replace(/\/(?=[^\/]*$)/, '#'));
That says: "replace the slash that is followed by either nothing or characters that do not include another slash, right to the end."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With