2012-11-09 18 views
6

tôi cần phải chia chuỗi này: "hello1\r\nhello2\r\n\r\nhello3\r\n\r\n\r\nhello4" tới: {"hello1\r\nhello2" , "hello3", "hello4"}Làm cách nào để chia nhỏ gấp đôi hoặc nhiều dòng trống? Regex.Stplit thêm chuỗi không mong muốn

mã của tôi:

string text = "hello1\r\nhello2\r\n\r\nhello3\r\n\r\n\r\nhello4"; 
string[] wordsarray = Regex.Split(text, @"(\r\n){2,}"); 

Kết quả là: {"hello1\r\nhello2" ,"\r\n" , "hello3" ,"\r\n" ,"hello4"}

Tôi đang làm gì sai?

Trả lời

8

Bạn đang ở rất gần. Đơn giản chỉ cần sử dụng một tổ chức phi chụp:

Regex.Split(text, @"(?:\r\n){2,}") 

Regex.Split cho biết thêm nhóm đến các mảng kết quả chụp như được mô tả trong "Ghi chú" của Regex.Split.

+1

+1. Nhận xét secion của [Regex.Split] (http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx) có chi tiết về hành vi. –

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