Reputation: 1674
var string = 'Animation/rawr/javascript.js'
//expected output
// ['Animation/', 'rawr/', 'javascript.js']
I'm having trouble splitting this string properly. Can I get some help on this?
string.split(/(/)/)
Upvotes: 4
Views: 7889
Reputation: 73731
You can do it with a regular expression using ''.match()
instead of split
:
var str = 'Animation/rawr/javascript.js';
var tokens = str.match(/[^\/]+\/?|\//g);
The first part [^\/]+\/?
matches as many non forward slashes it can optionally followed by a /
.
The second part \/
(after the or: |
) matches a lone forward slash.
Upvotes: 9
Reputation: 770
If you want to split
it,
you have to add the "/"
afterwards.
But the more efficient way would be a regex.
Split and add "/" afterwards:
var string = 'Animation/rawr/javascript.js';
var arr = string.split("/");
arr.forEach(function(e, i, a) {
a[--i] += "/";
});
document.write(JSON.stringify(arr));
Upvotes: -1