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

时间:2013-03-20 09:52:02

标签: 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 as integer = 5
dim y as integer = 8

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

4 个答案:

答案 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

希望这有帮助