i want to split a string in jquery or javascript with multiple separator.
for one string as separator we can have :
var x = "Name: John Doe\nAge: 30\nBirth Date: 12/12/1981";
var pieces = x.split("\n"), part;
for (var i = 0; i < pieces.length; i++) {
bla bla bla
}
But i want to split such that string(x) with : Age:
and Date:
(mean a string array as separator)
and at last i want a sting array with these parts : "Name: John Doe\n"," 30\nBirth "," 12/12/1981"
that x string is just an example and i dont have any string like that!
how can i rewrite theses codes?
You can do
var tokens = x.split(/Age:|Date:/g);
This gives 3 strings :
["Name: John Doe
", " 30
Birth ", " 12/12/1981"]
If you want also to get the separators, use
var tokens = x.split(/(Age:|Date:)/g);
This gives 5 strings :
["Name: John Doe
", "Age:", " 30
Birth ", "Date:", " 12/12/1981"]
If you want to build your regexp dynamically use
var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp(separators.join('|'), 'g'));
or
var separators = ["Date:", "Age:"];
var tokens = x.split(new RegExp('('+separators.join('|')+')', 'g'));
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