Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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 - Fatal编程技术网

Vb.net 使用字符串的一部分进行比较

Vb.net 使用字符串的一部分进行比较,vb.net,Vb.net,我有个问题,我有两个字符串 dim a as string = "Online" & ";" & 50 & ";" 4 & ";" & "2013-02-11" dim b as string = "Online" & ";" & 100 & ";" 2 ";" & "2013-02-11" dim arry as arrylist arry.add(a) arry.add(b) 在另一页上,我有两个整数s dim x

我有个问题,我有两个字符串

dim a as string = "Online" & ";" & 50 & ";" 4 & ";" & "2013-02-11"
dim b as string = "Online" & ";" & 100 & ";" 2 ";" & "2013-02-11"

dim arry as arrylist

arry.add(a)
arry.add(b)
在另一页上,我有两个整数s

dim x as integer = 5
dim y as integer = 8

我的问题是如何使用x和y与arry中的字符串a和b进行比较。如果需要检查a和b字符串中是否存在x和y整数,我需要做什么。

如果只想检查字符串中任何位置是否存在整数,请使用


。Linq的任何
。如果要检查字符串是否包含数字,则需要导入
System.Linq

Dim aContainsX = a.Contains(x.ToString())
Dim bContainsX = b.Contains(x.ToString())
' ... '
如果您想知道是否有一个带有该数字的“单词”(用空格分隔):

如果要被另一个字符分割(如示例中的分号):


假设您想检查数字是否存在于
之间然后:

Dim bIsIn As Boolean = a.Replace(" ", "").Split(";"c).Contains(x.ToString())
或者扩展它以确保您做得很好:

Dim sAux As String = a.Split(";"c)
Dim bIsIn As Boolean = False

For Each str As String In sAux
    str = str.Trim()
    If str.Equals(x.ToString(), StringComparison.InvariantCultureIgnoreCase) Then
        bIsIn = True
        Exit For
    End If
Next
您可以创建一个函数来避免重复代码。

使用以下方法:

Dim flag1 As Boolean = arry.Cast(Of String)().Any(Function(i) i.Contains(x))
Dim flag2 As Boolean = arry.Cast(Of String)().Any(Function(i) i.Contains(y))
导入系统


希望这有帮助

您想检查字符串的任何部分是否存在指定部分吗?“
拆分
”选项不起作用,因为数字周围可能有空格。@SysDragon:我不知道数字周围可能有什么,也可能没有。我只有OP提供的信息,字符串不包含空格。哦,对不起,我的错。我想我看到了数字周围的空格。
Dim sAux As String = a.Split(";"c)
Dim bIsIn As Boolean = False

For Each str As String In sAux
    str = str.Trim()
    If str.Equals(x.ToString(), StringComparison.InvariantCultureIgnoreCase) Then
        bIsIn = True
        Exit For
    End If
Next
Dim flag1 As Boolean = arry.Cast(Of String)().Any(Function(i) i.Contains(x))
Dim flag2 As Boolean = arry.Cast(Of String)().Any(Function(i) i.Contains(y))