我想从 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
. 但是,生成的字符串会遗漏任何换行符,因此很难解析。有任何想法吗?
问问题
1180 次
2 回答
2
文件中有换行符。在十六进制编辑器中检查它。它们是 Unix 换行符 \n (0x0A),而不是 Windows 换行符 \r\n (0x0D 0x0A)。您可以将字符串输入 aStringReader
然后逐行读取,然后将其逐行写入其他地方,以规范行尾,或者您可以只执行替换操作。
DownloadString
不会改变下载的内容,唯一的问题可能是编码不匹配。
于 2014-11-14T10:51:25.747 回答
1
从流返回的行尾\n
与默认的 Windows 行尾\r\n
(Environment.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 回答