DownloadString跳过换行符

时间:2014-11-14 10:43:26

标签: c# webclient downloadstring

我想从Google财经导入文本数据,并将此http地址用作DownloadString http://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL的参数。但是,结果字符串会错过任何换行符,因此很难解析。有任何想法吗?

2 个答案:

答案 0 :(得分:2)

文件中有换行符。在十六进制编辑器中检查它。它们是Unix行结尾,\ n(0x0A),而不是Windows行结尾,\ r \ n(0x0D 0x0A)。您可以将字符串提供给StringReader然后逐行读取,然后逐行将其写入其他地方,以标准化行结尾,或者您可以执行替换操作。

DownloadString不会改变下载的内容,唯一的问题可能是编码不匹配。

答案 1 :(得分:1)

从流返回的行结尾是\n,与默认的Windows行结束\r\n相对应(在Windows上Environment.NewLine表示)。

尝试拆分\r\n的所有可能组合:

WebClient wc = new WebClient();
string s = wc.DownloadString("http://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL");

string[] lines = s.Split(new string[] { Environment.NewLine, "\n", "\"r" }, StringSplitOptions.None);