Ken*_*nes 36 vb.net string if-statement contains
我想知道如何检查字符串是否包含"value1"或"value2"?我试过这个:
If strMyString.Contains("Something") Then
End if
Run Code Online (Sandbox Code Playgroud)
这有效,但这不是:
If strMyString.Contains("Something") or ("Something2") Then
End if
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,即从字符串到Long的转换无法完成.如果我把or ("Something2")第一个的括号内,它给我一个错误,该字符串不能转换为布尔值.
那么如何检查字符串是否包含"string1"或"string2"而无需编写太多代码?
Rif*_*fky 70
你必须这样做:
If strMyString.Contains("Something") OrElse strMyString.Contains("Something2") Then
'[Put Code Here]
End if
Run Code Online (Sandbox Code Playgroud)
Ash*_*nko 11
你需要这个
If strMyString.Contains("Something") or strMyString.Contains("Something2") Then
'Code
End if
Run Code Online (Sandbox Code Playgroud)
除了已经给出的答案之外,如果您使用OrElse而不是Or因为第二个测试短路,它会更快。如果您知道一个字符串比另一个字符串更有可能,则尤其如此,在这种情况下将其放在首位:
If strMyString.Contains("Most Likely To Find") OrElse strMyString.Contains("Less Likely to Find") Then
'Code
End if
Run Code Online (Sandbox Code Playgroud)
这是检查特定字符串是否包含某些预定义字符串的替代解决方案。它使用IndexOf功能:
'this is your string
Dim strMyString As String = "aaSomethingbb"
'if your string contains these strings
Dim TargetString1 As String = "Something"
Dim TargetString2 As String = "Something2"
If strMyString.IndexOf(TargetString1) <> -1 Or strMyString.IndexOf(TargetString2) <> -1 Then
End If
Run Code Online (Sandbox Code Playgroud)
注意:此解决方案已经过 Visual Studio 2010 测试。
| 归档时间: |
|
| 查看次数: |
253652 次 |
| 最近记录: |