只需使用的IndexOf在两个字符串,然后使用if表达
Dim pos1 = String1.IndexOf("something")
Dim pos2 = String2.IndexOf("something else")
if pos1 < 0 AndAlso pos2 < 0 then
' the string1 doesn't contain "something" and string2 doesn't contain "something else"
End If
string.IndexOf返回作为参数传递的字符串的字符位置。如果在源字符串中找不到参数,则返回值为-1,如MSDN docs
中所解释的,如果您的搜索项包含与输入字符串不同的大小写字符,IndexOf也可能很有用。例如,如果您的输入文本包含单词“Something”(大写'S'),则使用术语“something”搜索此输入将使用Contains或vanilla IndexOf都失败。 但随着的IndexOf你可以写这样的事情
Dim pos1 = String1.IndexOf("something", StringComparison.CurrentCultureIgnoreCase)
Dim pos2 = String2.IndexOf("something else", StringComparison.CurrentCultureIgnoreCase)
这将迫使的IndexOf像他们一样的字符串处理“东西”和“东西”。
最后,你的问题还不清楚,如果你想检查丢失的文本只有第二个字符串或两个字符串,但知道IndexOf返回> = 0如果搜索字符串存在,那么它应该很简单,修改if满足您的需求。
你是什么意思,它不起作用?你是否建议'String.Contains'或'Not'的实现存在问题? 'String2'的价值是什么,我怀疑你的情况有所不同。 – Jodrell 2014-12-02 17:47:02
您是否有意忽略从第一次调用'Contains()'? – Panzercrisis 2014-12-02 17:56:41
此外,如果涉及到换行符,您可能会遇到'LF'与'CRLF'(或'LFCR')的问题。 – Panzercrisis 2014-12-02 17:58:19