确实包含并且不包含在同一个if中

时间:2012-07-13 13:21:12

标签: c#

出于某种原因,我不能得到这个if语句

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

有没有办法获取包含但不包含在同一个if语句中工作?

3 个答案:

答案 0 :(得分:2)

首先检查htmlCode,文本可以与一些html标签或类似的东西混合,问题也可以是案例,当试图在文本中找到一些字符串时,你应该永远记住案例。

您可以使用.Contains方法或.IndexOf,实际上Framework中的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()

答案 1 :(得分:1)

尝试通过转换大写或小写进行比较。

if (htmlCode.ToUpper().Contains("SIGN OUT") && !htmlCode.ToUpper().Contains("BYE BYE")) 
{
    // do stuff...
}

答案 2 :(得分:1)

你if if子句正常工作

由于字符串大小写

,它可能无法正常工作

所以我建议你这样做

if (htmlCode.ToUpper().Contains("Sign out".ToUpper()) && !htmlCode.ToUpper().Contains("bye bye".ToUpper()))