Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 检查字符串是否不包含某些文本_Vb.net_String_Text_Contains - Fatal编程技术网

Vb.net 检查字符串是否不包含某些文本

Vb.net 检查字符串是否不包含某些文本,vb.net,string,text,contains,Vb.net,String,Text,Contains,有没有一个简单的方法可以做到这一点?我试过了 If String1.Contains("something") AndAlso String2.'does not contain something' 'do stuff End If 但它不起作用…只需在两个字符串上使用IndexOf,然后使用if表达式 If String1.Contains("something") AndAlso Not String2.Contains("something else") 'do stu

有没有一个简单的方法可以做到这一点?我试过了

If String1.Contains("something") AndAlso String2.'does not contain something'
    'do stuff
End If

但它不起作用…

只需在两个字符串上使用IndexOf,然后使用if表达式

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
这将迫使IndexOf将“Something”和“Something”视为同一个字符串


最后,您的问题不清楚您是否只想检查第二个字符串或两个字符串中缺少的文本,但知道IndexOf返回>=0如果搜索的字符串存在,那么修改if条件以满足您的需要应该非常简单。

只需对两个字符串使用IndexOf,然后使用if表达式即可

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
这将迫使IndexOf将“Something”和“Something”视为同一个字符串


最后,您的问题不清楚您是否只想检查第二个字符串或两个字符串中的缺失文本,但知道IndexOf返回>=0如果搜索字符串存在,则修改if条件以满足您的需要应该非常简单。

好的,我们有一个字符串

Dim pos1 = String1.IndexOf("something", StringComparison.CurrentCultureIgnoreCase) 
Dim pos2 = String2.IndexOf("something else", StringComparison.CurrentCultureIgnoreCase)
表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
True
。表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
False
。表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
True


注:

表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")

计算结果为
False
,因为
“Something”
“Something”
的顺序区分大小写比较失败。除非另有规定,否则字符串比较区分大小写。

好的,我们有一个字符串

Dim pos1 = String1.IndexOf("something", StringComparison.CurrentCultureIgnoreCase) 
Dim pos2 = String2.IndexOf("something else", StringComparison.CurrentCultureIgnoreCase)
someString.Contains("Something")
表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
True
。表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
False
。表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
True


注:

表情

If String1.Contains("something") AndAlso Not String2.Contains("something else")
    'do stuff
End If
Dim someString = "this something that"
someString.Contains("something")
someString.Contains("something else")
Not someString.Contains("something else")
计算结果为
False
,因为
“Something”
“Something”
的顺序区分大小写比较失败。除非另有规定,否则字符串比较区分大小写

someString.Contains("Something")
上述代码输出:

Dim String1 As String = "This one contains something at index 18"
Dim String2 As String = "You won't find your string here !"

Debug.WriteLine("String1 : IndexOf(something) = " _
    + String1.IndexOf("something").ToString())
Debug.WriteLine("String2 : IndexOf(something else) = " _
    + String1.IndexOf("something else").ToString())

If String1.Contains("something") AndAlso Not String2.Contains("something else") Then
    Debug.WriteLine("String1 contains [something]")
    Debug.WriteLine("String2 doesn't contain [something else]")
End If
String.Contains(blah)
前面添加
Not
,明确表示
字符串不包含[blah]
。我看不出
不包含
有什么问题

你的代码怎么了?或者变量及其实际内容有什么问题?或者你在哪里失去了变量的踪迹?小心值和变量名称的大小写(即使已知VB不在乎,也要避免使用大小写megamix)

在您的
条件测试之前使用
断点,然后运行
调试器。请查看
String1
String2
内容

上述代码输出:

Dim String1 As String = "This one contains something at index 18"
Dim String2 As String = "You won't find your string here !"

Debug.WriteLine("String1 : IndexOf(something) = " _
    + String1.IndexOf("something").ToString())
Debug.WriteLine("String2 : IndexOf(something else) = " _
    + String1.IndexOf("something else").ToString())

If String1.Contains("something") AndAlso Not String2.Contains("something else") Then
    Debug.WriteLine("String1 contains [something]")
    Debug.WriteLine("String2 doesn't contain [something else]")
End If
String.Contains(blah)
前面添加
Not
,明确表示
字符串不包含[blah]
。我看不出
不包含
有什么问题

你的代码怎么了?或者变量及其实际内容有什么问题?或者你在哪里失去了变量的踪迹?小心值和变量名称的大小写(即使已知VB不在乎,也要避免使用大小写megamix)

在您的
条件测试之前使用
断点,然后运行
调试器。请查看
String1
String2
内容


可以使用vbNullString检查字符串是否包含文本。请尝试以下代码:

'String1 : IndexOf(something) = 18
'String2 : IndexOf(something else) = -1
'String1 contains [something]
'String2 doesn't contain [something else]

可以使用vbNullString检查字符串是否包含文本。请尝试以下代码:

'String1 : IndexOf(something) = 18
'String2 : IndexOf(something else) = -1
'String1 contains [something]
'String2 doesn't contain [something else]

你什么意思,它不起作用?您是否认为
String.Contains
Not
的实现有问题?
String2
的值是多少,我怀疑您在case中有差异。您是否故意在对
Contains()
的第一次调用中省略了
Not
?此外,如果涉及换行符,您可能会遇到
LF
CRLF
(或
LFCR
)的问题.你能给出一个字符串不起作用的例子和预期的结果吗?你说它不起作用是什么意思?您是否认为
String.Contains
Not
的实现有问题?
String2
的值是多少,我怀疑您在case中有差异。您是否故意在对
Contains()
的第一次调用中省略了
Not
?此外,如果涉及换行符,您可能会遇到
LF
CRLF
(或
LFCR
)的问题.你能给出一个不起作用的字符串的例子和预期结果吗?这有什么帮助?与
类似,包含
但更复杂。使用IndexOf并假设StringComparison.Ordinal,如果需要使用IndexOf,您可以更改它。所以我可以说,是的可能更复杂(主观),但使用
IndexOf
肯定更灵活(客观),因为您需要测试结果是否与
-1
相等。但是,正如您修改问题所说,
IndexOf
确实有接受
StringComparison
参数的重载。我看不出主观性,但这可能是主观的。这有什么帮助?与
类似,包含
但更复杂。使用IndexOf并假设StringComparison.Ordinal,如果需要使用IndexOf,您可以更改它。所以我可以说,是的可能更复杂(主观),但使用
IndexOf
肯定更灵活(客观),因为您需要测试结果是否与
-1
相等。但是,正如您修改问题所说,
IndexOf
确实有接受
StringComparison
参数的重载。我看不出主观性,但这可能