Home > Software design >  What is the fastest way to extract all the subpaths from a path using regex
What is the fastest way to extract all the subpaths from a path using regex

Time:03-30

For a given path, for example - abc/def/hijkl/mno.txt how to extract all the paths like below

abc
abc/def
abc/def/hijkl
abc/def/hijkl/mno.txt

Like an array with actual path and all the sub paths till the root path.

I've tried the getting this with regex but I do not find a way to match every occurrence of / from the beginning of the string.

Below is the regex I've tried

(.*?)?\/ 

Is there any way to get this output with regex in javascript

CodePudding user response:

You don't need Regexp for this.

You can just split your string into an array using split, then reconstitute slices of that array back into paths using join.

const path = "abc/def/hijkl/mno.txt";

const segments = path.split('/');

const paths = segments.map((s, i) => segments.slice(0, i   1).join('/'))

console.log(paths)

CodePudding user response:

You can split your string by / and append the array list as you desire:

Example:

const str = `abc/def/hijkl/mno.txt`;

let array = str.split('/');

res=""
len=array.length;
for (let i = 0; i < len; i  ) {
   res =array[i];
   console.log(res);
   if(i<len-1)
   res ="/";

}

  • Related