我有问题,我有两个字符串。
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整数,我该怎么办。
答案 0 :(得分:0)
如果你只想检查整数是否存在于字符串中的任何位置
Linq的{p>.Any
。您需要导入System.Linq
答案 1 :(得分:0)
如果要检查字符串是否包含数字:
Dim aContainsX = a.Contains(x.ToString())
Dim bContainsX = b.Contains(x.ToString())
' ... '
如果你想知道是否有一个带有该号码的“单词”(用空格分隔):
Dim aContainsX = a.Split().Contains(x.ToString())
Dim bContainsX = b.Split().Contains(x.ToString())
' ... '
如果你想用另一个字符分割(比如样本中的分号):
Dim aContainsX = a.Split(";"c).Contains(x.ToString())
Dim bContainsX = b.Split(";"c).Contains(x.ToString())
' ... '
答案 2 :(得分:0)
假设您要检查数字是否在;
之后退出:
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
您可以创建一个函数以避免重复代码。
答案 3 :(得分:0)
使用此:
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))
导入System.Linq
希望这有帮助