我有
中的数据var description="Name:John;EmployeeID:2;Salary:$8000;Address:London";
我希望结果为
Name: John
Employee Id: 2
Salary: $8000
Address: London
是否可以在javascript中使用split()函数?
答案 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] +“”); }