2011-06-23 85 views
2

我有如何分割在JavaScript

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

數據功能我想要的結果作爲

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

是否有可能在JavaScript中分裂()函數?

回答

1

有了這個說法:

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

,你會得到一個數組的所有值。有關split的更多信息,請檢查以下link

你甚至可以加入他們算賬:

printf(arrDescription.join(" ")); 

有關join檢查的詳細信息如下link

最大

+0

我該如何找到arrDescription的子串 – Saloni

+0

@Saloni:你是否想要在數組中找到一個項目? - > http://stackoverflow.com/questions/143847/best-way-to-find-an-item-in-a-javascript-array或http://stackoverflow.com/questions/237104/javascript-array -containsobj – JMax

+0

我只有子字符串不是完整的字符串 – Saloni

0

是的。

你首先應該用split上的分號;。遍歷這些結果,並且split每個結果在每個冒號:上。

您將不得不手動建立結果。

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" 
*/ 
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'); 
}; 

...或使用馬特球的答案。

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

如果我在textBox中有描述,那麼我該如何使用split函數。 – Saloni

+0

您可以使用document.getElementById(「textBoxId」)。 –

0

Var描述= 「姓名:John;僱員:2;工資:$ 8000個;地址:倫敦」; var splitted = description.split(「;」);

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