开发者

how to split function in javascript

i have data i开发者_C百科n

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?


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"
*/


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.


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


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>");    


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.


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] + ""); }

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜