2014-10-17 63 views
0

我有一個字符串如何從字符串中獲取第n行?

UNCON1\r\nMCF\r\n10/16/14 21:08:40\r\n4452 LANCASTER DR NE\r\nM32, 
E305\r\nMCF201410160019\r\n 

我想導致4452 LANCASTER DR NE。它總是在第四行。

我通過這種方式

private void Test(string msg) 
{ 
    for (int i = 0; i < 3; i++) 
    { 
     msg = msg.Substring(msg.IndexOf("\\r\\n")).Substring(4); 
    } 
    string address = msg.Remove(msg.IndexOf("\\r\\n")); 
} 

做的是有沒有什麼好的辦法做到這一點,提前

+1

什麼是規則,你爲什麼要'4452 LANCASTER DR NE'?它的地址是 – 2014-10-17 07:37:18

+0

,它總是發生在第四行。 – 2014-10-17 07:38:21

回答

3

感謝所以,你要4號線。首先split通過Environment.NewLine的字符串,然後使用索引陣列上:

string[] lines = str.Split(new []{ Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 
string address = lines[3]; // or safe: lines.ElementAtOrDefault(3) 

使用StringSplitOptions.None如果你也想算空行(如果可能):

-1

使用Split方法:

string address = msg.Split("\r\n")[3]; 
+0

由於「\ n」而不是「\ r \ n」,所以在你的代碼中,他會在他的字符串的末尾得到一個「\ r」。 – Sasse 2014-10-17 07:45:35

相關問題