0

何らかの理由で、ifステートメントが機能するようにこれを取得できません

if (htmlCode.Contains("Sign out") && !htmlCode.Contains("bye bye")) 
{
    // do stuff...
}

同じifステートメントで機能するcontainsとcontainsを取得する方法はありますか?

4

3 に答える 3

2

まず、htmlCodeを確認します。テキストは、いくつかのhtmlタグなどと混在している可能性があります。また、ケースについても問題が発生する可能性があります。テキスト内の文字列を検索する場合は、ケースについて常に覚えておく必要があります。

.Containsメソッドまたはを使用できます.IndexOf。実際には、フレームワークのcontainsメソッドは次のように実装されます。

public bool Contains(string value)
{
  return this.IndexOf(value, StringComparison.Ordinal) >= 0;
}

ケースを知らずに大きな文字列を比較するには、次を使用します。

htmlCode.IndexOf("Sign out", StringComparison.InvariantCultureIgnoreCase);
htmlCode.IndexOf("Bye bye", StringComparison.InvariantCultureIgnoreCase);

応答が小さいことがわかっている場合は、.ToLower()または.ToUpper()

于 2012-07-13T13:38:43.093 に答える
1

大文字と小文字のどちらかを変換して比較してみてください。

if (htmlCode.ToUpper().Contains("SIGN OUT") && !htmlCode.ToUpper().Contains("BYE BYE")) 
{
    // do stuff...
}
于 2012-07-13T13:25:47.837 に答える
1

You if clause works correctly

It might be not working because of the string case

So i would suggest you do it this way

if (htmlCode.ToUpper().Contains("Sign out".ToUpper()) && !htmlCode.ToUpper().Contains("bye bye".ToUpper())) 
于 2012-07-13T13:27:22.837 に答える