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))