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