0

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

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)

在另一页上,我有两个整数

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

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

4

4 回答 4

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

导入系统.Linq

希望这可以帮助

于 2013-03-20T10:24:22.003 回答
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

您可以创建一个函数来避免重复代码。

于 2013-03-20T10:20:35.790 回答
0

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

.Any林克。您需要导入System.Linq

于 2013-03-20T10:01:26.570 回答
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())
' ... '
于 2013-03-20T10:04:21.580 回答