3

我想从 Google Finance 导入文本数据,我使用这个 http 地址作为参数来DownloadString http://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL. 但是,生成的字符串会遗漏任何换行符,因此很难解析。有任何想法吗?

4

2 回答 2

2

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

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

于 2014-11-14T10:51:25.747 回答
1

从流返回的行尾\n与默认的 Windows 行尾\r\nEnvironment.NewLine在 Windows 中表示)相反。

尝试拆分 和 的所有可能\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);
于 2014-11-14T10:53:21.390 回答