2014-11-14 28 views
2

我想從Google財經導入文本數據,並使用此http地址作爲DownloadStringhttp://www.google.com/finance/getprices?i=1200&p=1d&f=d,o,h,l,c,v&df=cpct&q=AAPL的參數。但是,由此產生的字符串會丟失任何換行符,因此解析起來非常困難。有任何想法嗎?DownloadString跳過換行符

+2

顯示美國U2 [R如何網上下載的代碼? – CodingDefined

+0

您使用什麼代碼進行下載? – Vajura

回答

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); 
1

文件中有換行符。在十六進制編輯器中檢查它。它們是Unix行尾,\ n(0x0A),而不是Windows行尾,\ r \ n(0x0D 0x0A)。您可以將字符串提供給StringReader,然後逐行讀取它,然後將它逐行寫入到其他位置,以標準化行尾,或者您可以執行替換操作。

DownloadString不會改變下載的內容,唯一的問題可能是編碼不匹配。