Saloni
Saloni

Reputation: 527

how to split function in javascript

i have data in

var description="Name:John;EmployeeID:2;Salary:$8000;Address:London";

i want the result as

Name: John
Employee Id: 2
Salary: $8000
Address: London

is it possible with split() function in javascript?

Upvotes: 2

Views: 10959

Answers (6)

ajit Paswan
ajit Paswan

Reputation: 11

var description="Name:John;EmployeeID:2;Salary:$8000;Address:London"; var splitted = description.split(";");

for(var i = 0; i < splitted.length; i++) { document.write(splitted[i] + ""); }

Upvotes: 0

JMax
JMax

Reputation: 26591

With this statement:

var arrDescription = description.split(";");

you will get an array with all the values. For more info on split check the following link.

you can even join them afterwards :

printf(arrDescription.join(" "));

For more info on join check the following link.

Max

Upvotes: 1

Bergius
Bergius

Reputation: 959

If you want the result as an object, try:

var f = function (str) {
    var x = {}, key2label = { EmployeeID: 'Employee Id' };
    str.replace(/(.+?):(.+?)(;|$)/g, function (match, key, value) {
        key = key2label[key] || key;
        x[key] = value;
    });
    return x;
};

If a simple string is needed, but you still need to replace keys:

var f2 = function (str) {
    var key2label = { EmployeeID: 'Employee Id' };
    return str.replace(/(.+?):(.+?)(;|$)/g, function (match, key, value, semi) {
        key = key2label[key] || key;
        return key + ': ' + value + (semi ? '\n' : '');
    });
};

If you really didn't mean to replace keys, this will do it:

var f3 = function (str) {
    return str.split(':').join(': ').split(';').join('\n');
};

... or use Matt Ball's answer.

Upvotes: 2

Srikanth Venkatesh
Srikanth Venkatesh

Reputation: 2812

You can probable try like this to display.

       var description="Name:John;EmployeeID:2;Salary:$8000;Address:London";
       var arr=new Array();
       arr=description.split(";"); 
       for(var i=0;i<arr.length;i++)
           document.writeln("<h4>"+arr[i]+"</h4>");    

Upvotes: 1

Matt Ball
Matt Ball

Reputation: 359836

You can do it with String.split() but in this case it's simpler to use String.replace():

var description="Name:John;EmployeeID:2;Salary:$8000;Address:London";
description = description.replace(/;/g, '\n').replace(/:/g, ': ');
/*
"Name: John
EmployeeID: 2
Salary: $8000
Address: London"
*/

Upvotes: 5

Daniel A. White
Daniel A. White

Reputation: 190943

Yes.

You first should split on the semicolon ;. Loop through those results, and split each result on each colon :.

You will have to build the result by hand.

Upvotes: 0

Related Questions