0

何が悪いのかわからない神の愛について説明する必要があります。標準のHttpwebrequestであるc#を介してWebページをダウンロードしています。完全なHTMLコードを取得し、それを文字列に保存しています。次に、webbrowsersデータを設定し、要素をクリックすると、次のようなHTMLが表示されます。

<strong>Copyright 2011. All Rights Reserved.</strong>

この正確な文字列の存在についてダウンロードされたページのコレクションを比較するスクリプトを取得すると、falseになりますが、このコレクションの1つをRichTextBoxで開き、残りのコレクションの比較を開始すると、一致します。誰か教えてもらえますか?要素のデバッグと監視を試しましたが、nullになることはなく、メモ帳に値をコピーして手動でテキストを比較することもできます。毎回一致するので、どうですか?エンコーディング?バグ?私は本当に知りません。

この例は次の場所から取得します。http://web.archive.org/web/20110208042711/http://coralifeaqualight.com/

比較ページは、サイト上のすべてのローカルページです。ここでの答えは大いにありがたいです、それはとても単純なようです、なぜそれはうまくいかないのですか?そして、はい、私はチェックするときに最初に@を入れてみました。

4

3 に答える 3

2

最悪のシナリオでは、Contains()を使用せずに同じ結果を取得しようとすることができます。これが例です。

string genericString = "My string";
bool contains = genericString.IndexOf("my", StringComparison.OrdinalIgnoreCase) >= 0;
于 2013-02-05T20:58:20.983 に答える
2

次の方法で、マッチングを妨げている隠し文字があるかどうかを確認できます。

using System.Text.RegularExpressions;

...

string output = Regex.Replace(input, "[^\u0021-\u007E]","");

この後にそれらが一致する場合は、いくつかの文字があなたを台無しにしていることがわかります (改行、多分?)。

于 2013-02-05T21:04:49.310 に答える
1

私の推測では、データを確認しているエディターに表示されていないキャラクターがいると思います。正確なデータをTextPadなどにコピーして、文字列に余分な文字が含まれていないかどうかを確認してください。

それは私がコードなしでできる最善のことです

于 2013-02-05T20:41:31.877 に答える