2009-08-01 66 views
29

Tôi chỉ tò mò làm thế nào tôi đi về tách một biến thành một vài biến khác.Làm thế nào để phân tích một chuỗi trong JavaScript?

Ví dụ, nói tôi có JavaScript sau:

var coolVar = '123-abc-itchy-knee'; 

Và tôi muốn chia mà thành 4 biến, làm thế nào để làm điều đó?

Để gió lên với một mảng nơi

array[0] == 123 
and 
array[1] == abc 

vv sẽ được mát mẻ.

Hoặc (một biến cho mỗi một phần của chuỗi)

var1 == 123 
and 
var2 == abc 

thể làm việc ... một trong hai cách. Làm thế nào để bạn tách một chuỗi JavaScript?

Trả lời

75

Sử dụng Javascript chuỗi split() chức năng.

var coolVar = '123-abc-itchy-knee'; 
var partsArray = coolVar.split('-'); 

// Will result in partsArray[0] == '123', partsArray[1] == 'abc', etc 
+1

đơn giản hơn tôi nghĩ là ... nhờ Dav – willdanceforfun

+0

coool, tuyệt vời, rực rỡ) – zest

+0

Nếu bạn đặt một thứ gì khác trong 'coolVar', hãy chắc chắn thêm' coolVar.toString(). Split ('-') 'nếu bạn nhận được một ngoại lệ. – Fr333du

15

Sử dụng phân chia trên chuỗi:

var array = coolVar.split(/-/); 
+0

Không thực hiện phân chia regex? Tôi nghĩ nó chỉ lấy một chuỗi tìm kiếm. – Macha

+0

Có thể mất/- /. – Amber

+6

Nó thậm chí không phải là một regex liên tục, nó có thể phức tạp hơn. Ví dụ: '" hello-there_stranger ".split (/ - | _ /)' trả về mảng 3 phần tử. –

2

như hổ phách và sinan đã lưu ý ở trên, phương pháp javascritp '.split' sẽ hoạt động tốt. Chỉ cần vượt qua nó dấu phân cách chuỗi (-) và chuỗi mà bạn định chia ('123-abc-ngứa-đầu gối') và nó sẽ làm phần còn lại.

var coolVar = '123-abc-itchy-knee'; 
    var coolVarParts = coolVar.split('-'); // this is an array containing the items 

    var1=coolVarParts[0]; //this will retrieve 123 

Để truy cập từng mục từ mảng chỉ sử dụng chỉ mục tương ứng (chỉ số bắt đầu bằng 0).

Các vấn đề liên quan