How split a string in jquery with multiple strings as separator

18,367

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'));
Share:
18,367

Related videos on Youtube

SilverLight
Author by

SilverLight

WEB DEVELOPER & C# PROGRAMMER ASP.NET C# JQUERY JAVASCRIPT MICROSOFT AJAX MICROSOFT SQL SERVER VISUAL STUDIO

Updated on June 25, 2022

Comments

  • SilverLight
    SilverLight almost 2 years

    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?