2010-05-06 38 views
6

Tôi có một chuỗi trong lua.lua chia thành các từ

Đó là một nhóm [a-zA-Z0-9] + được phân tách bằng một số (1 hoặc nhiều hơn) dấu cách.

Làm cách nào để lấy chuỗi và chia chuỗi thành một chuỗi?

+0

thể trùng lặp của (http://stackoverflow.com/questions/1426954/split-string-in-lua) – Jacob

Trả lời

11
s = "foo bar 123" 
words = {} 
for word in s:gmatch("%w+") do table.insert(words, word) end 
+6

hướng dẫn tham khảo gnome cho biết: '% w' đại diện cho tất cả các ký tự chữ và số. – u0b34a0f6ae

34
s="How do I take the string and split it into a table of strings?" 
for w in s:gmatch("%S+") do print(w) end 
+7

hướng dẫn tham khảo gnome nói [chuỗi Chia trong lua?]: '% S' đại diện cho tất cả các ký tự không dấu cách. – u0b34a0f6ae

+8

Câu trả lời được chấp nhận (ponzao) là ok với đặc tả trong câu hỏi, nhưng lý do thích câu trả lời của lhf là nếu bạn có văn bản 8 bit hoặc nhiều byte (mọi thứ không phải là ascii), bạn vẫn có thể phân chia chính xác trên các khoảng trắng bằng cách sử dụng phương pháp này. Ví dụ: – u0b34a0f6ae

+0

@ u0b34a0f6ae Vì vậy, nó sẽ hoạt động với mã hóa UTF-8. :]]] (nhưng không phải với một số khoảng trắng đặc biệt Unicode sử dụng các điểm mã dài hơn) – Hydro

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