如何在javascript中拆分功能

时间:2011-06-23 12:17:11

标签: javascript

我有

中的数据
var description="Name:John;EmployeeID:2;Salary:$8000;Address:London";

我希望结果为

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

是否可以在javascript中使用split()函数?

6 个答案:

答案 0 :(得分:5)

您可以使用String.split()执行此操作,但在这种情况下,使用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"
*/

答案 1 :(得分:2)

如果您希望将结果作为对象,请尝试:

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;
};

如果需要一个简单的字符串,但仍需要替换键:

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' : '');
    });
};

如果你真的不想更换钥匙,可以这样做:

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

...或者使用Matt Ball的答案。

答案 2 :(得分:1)

这句话:

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

您将获得包含所有值的数组。有关split的更多信息,请查看以下link

之后你甚至可以加入他们:

printf(arrDescription.join(" "));

有关join的更多信息,请查看以下link

最高

答案 3 :(得分:1)

您可能会尝试这样显示。

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

答案 4 :(得分:0)

您首先应在split上使用分号; split。循环遍历这些结果,每个冒号:上的每个结果{{1}}。

您必须手动构建结果。

答案 5 :(得分:0)

var description =“姓名:约翰;员工ID:2;工资:8000美元;地址:伦敦”; var splitted = description.split(“;”);

for(var i = 0; i&lt; splitted.length; i ++){document.write(splitted [i] +“”); }