0

出于某种原因,我无法让这个 if 语句起作用

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

有什么方法可以让包含和不包含在相同的 if 语句中工作?

4

3 回答 3

2

首先检查htmlCode,文本可能与一些html标签或类似的东西混合在一起,问题也可能与案例有关,当您尝试在文本中查找某些字符串时,您应该始终记住案例。

可以使用.Containsmethod 或.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()

于 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 子句正常工作

由于字符串大小写,它可能无法正常工作

所以我建议你这样做

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