I believe it gives you escape characters in some cases.
var segments = p1.split('/');
// Get the last segment
var lastSegment = segments[segments.length - 1];
// Split the last segment by question mark or hash, if present
var fileName = lastSegment.split(/[?#]/)[0];
// Decode URL-encoded characters
var decodedFileName = decodeURIComponent(fileName);
// Return the decoded file name
return decodedFileName;
Added a step to decode those.