我有一个字符串
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
。它总是在第4行。
我这样做
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"));
}
有没有好办法做到这一点,提前谢谢
答案 0 :(得分:5)
所以你想要第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 :(得分:1)
将Split
字符串放入其组件行中。尝试:
msg.Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries)[3];
Split
上的文档:http://msdn.microsoft.com/en-us/library/ms131448(v=vs.110).aspx
答案 2 :(得分:0)
使用Split
方法:
string address = msg.Split("\r\n")[3];