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

ファイルには改行文字があります。16進エディタで確認してください。これらは Unix の行末 \n (0x0A) であり、Windows の行末 \r\n (0x0D 0x0A) ではありません。文字列を a にフィードし、それを 1StringReader行ずつ読み取ってから、1 行ずつ別の場所に書き込んで行末を正規化するか、単に置換操作を行うことができます。

DownloadStringダウンロードされたコンテンツは変更されません。唯一の問題は、エンコーディングの不一致である可能性があります。

于 2014-11-14T10:51:25.747 に答える
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);
于 2014-11-14T10:53:21.390 に答える