出于某种原因,我不能得到这个if语句
if (htmlCode.Contains("Sign out") && !htmlCode.Contains("bye bye"))
{
// do stuff...
}
有没有办法获取包含但不包含在同一个if语句中工作?
答案 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()))