2010-04-19 44 views
5

Nếu tôi có biến chứa thông tin văn bản (được lấy từ vùng văn bản), làm cách nào để đọc nội dung văn bản được giữ trong một chuỗi biến dòng?Cách phân tích cú pháp đầu vào của người dùng từ dòng văn bản theo dòng

Văn bản được nhập trong vùng văn bản sẽ có \ n (phím nhập) để tách dòng.

+0

câu hỏi hay ở đây là độ dài tối đa mặc định trong văn bản là bao nhiêu? Phạm vi chúng tôi đang hợp tác là gì? – Glennular

+0

vài nghìn dòng, nhỏ hơn 10K. – Blankman

Trả lời

11

Bạn có thể sử dụng một StringReader:

var reader = new StringReader(textbox.Text); 
string line; 
while (null != (line = reader.ReadLine())) { 
    //... 
} 
6

Cố gắng sử dụng

string[] strings = yourString.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) 
+1

Điều này không hiệu quả đối với các chuỗi lớn. – SLaks

+1

@SLaks - Không có gì được nói về kích thước. Vì vậy, tôi giả định rằng kích thước là hợp lý. – Hun1Ahpu

+2

Bạn sẽ có các vấn đề tải xuống và/hoặc tiêm nghiêm trọng lâu trước khi điều này trở nên kém hiệu quả hơn so với một StringReader. –

0
string[] splitInput = System.Text.RegularExpressions.Regex.Split(
         InputString, "\r\n"); 
+0

Có _really_ không có điểm trong việc sử dụng cụm từ thông dụng ở đây. – SLaks

0

Đây là một câu hỏi cũ nhưng điều này có thể giúp đỡ! Cá nhân tôi sử dụng mã này để xử lý tất cả Hệ điều hành:

myString.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries) 
Các vấn đề liên quan