I have strings formatted as follows: path/to/a/filename.txt
Now I'd like to do some string manipulation which allows me to very efficiently remove the "filename.txt" part from this code. In other words, I want my string to become this: path/to/a/
What's the most efficient way to do this? Currently I'm splitting the string and reconnecting the seperate elements except for the last one, but I get the feeling this is a really, REALLY inefficient way to do it. Here's my current, inefficient code:
res.getPath = function(file) { var elem = file.split("/"); var str = ""; for (var i = 0; i < elem.length-1; i++) str += elem[i] + "/"; return str; }
The method fileCompinent() is used to remove the path information from a filename and return only its file component. This method requires a single parameter i.e. the file name and it returns the file component only of the file name.
function removeExtension(filename) { return filename. substring(0, filename.To remove a file extension from a string in Node.
Use lastIndexOf() to find the position of the last slash and get the part before the slash with substring().
str.substring(0, str.lastIndexOf("/"));
If you're using Node.js:
const path = require("path") const removeFilePart = dirname => path.parse(dirname).dir removeFilePart("/a/b/c/d.txt") // Returns "/a/b/c"
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