C#读取测试中的特定行

C#读取测试中的特定行,c#,string,C#,String,我使用的api返回的结果如下: 嗯 66443010 使用C#获取特定行的值的最佳方法是什么,如第二行。 我只想让StreamReader的“500”使用ReadLine()或File.ReadAllLines来填充字符串[],然后从数组中提取所需的行。对于第二行,拉动索引1处的字符串 如果数据已经存在于字符串中,请使用string.Split(Environment.NewLine)生成字符串[]。可以这么简单(假设行之间用“\n”分隔,您应该用返回值检查): 下面的示例使用正则表达式根据

我使用的api返回的结果如下:

66443010

使用C#获取特定行的值的最佳方法是什么,如第二行。 我只想让StreamReader的“500”

使用ReadLine()或File.ReadAllLines来填充字符串[],然后从数组中提取所需的行。对于第二行,拉动索引1处的字符串


如果数据已经存在于字符串中,请使用string.Split(Environment.NewLine)生成字符串[]。

可以这么简单(假设行之间用
“\n”
分隔,您应该用返回值检查):


下面的示例使用正则表达式根据每次出现的回车符或换行符序列拆分字符串:

var segments = Regex.Split(myText, @"[\r\n]+");
从这里,您可以通过索引结果来获取所需的任何片段,并且它不依赖于远程API中的任何特定换行符


这种方法还有一个优点,就是可以从
数组中删除(可能)您不感兴趣的任何空行。

谢谢您的帮助。根据您的反馈,我完成了以下功能:

private static string GetLineFromResponse(string response, int lineWanted)
    {
        var lines = response.Split('\n');
        return lines[lineWanted];
    }

你能保证每一行的值中没有空格吗?你是从一个流、一个文件中读取的吗?在这个例子中,使用
Environment.NewLine
作为分隔符不是一个好主意--是被调用的API决定了行分隔符是什么,而不是调用系统。这是正确的,他们应该使用创建文件时使用的任何行分隔符。可能不是环境。换行符。不应该是环境。换行符
而不是
“\n”
?@SteveGreatrex:不--
环境。换行符
取决于您的系统。不能保证远程API使用与您的系统相同的“换行符”定义。这一点很好,但这不意味着我们假设远程API使用的是
“\n”
?使用类似于
Regex.Split(result,@“[\r\n]+”)
的东西不是更好吗?@SteveGreatrex:无论远程API做什么,我们都最好使用,这就是为什么我写了“你应该检查这个”。这不是答案。请留下感谢作为对回答者的评论。不,这个函数实际上很有用。我把帮助我的答案标为正确答案。未来的谷歌用户会发现我的代码很有用。
private static string GetLineFromResponse(string response, int lineWanted)
    {
        var lines = response.Split('\n');
        return lines[lineWanted];
    }