1

在我的应用程序中,我有这样的字符串1,2,3&&4,5,6。现在我想为每个循环检查每个元素。有没有可能?如果可能的话,我怎么能做到这一点?

我正在尝试使用split方法。但是,如果我使用的是split方法,我想要的不仅仅是循环。

喜欢

dim sa as string=1,2,3&&4,5,6

for each x as string in sa.split("&&")
  for each y as string in x.split(",")
    ''' Here My Process
  next
next

这怎么可能过去?如何更改为单循环?有没有可能?

4

4 回答 4

2

String.Split有一个接受字符串分隔符数组的重载:

Dim input As String = "1,2,3&&4,5,6"
For Each element As String In input.Split({",", "&&"}, StringSplitOptions.None)
  'do your processing on (1,2,3,4,5,6)
Next
于 2013-05-20T13:04:24.767 回答
2

据我了解,您只想使用一个for each而不是使用for eachin for each

你可以先用“&&”分割,然后用“,”连接:

dim sa as string=1,2,3&&4,5,6
dim stringArray = String.Join(",", sa.split("&&")).split(",")

for each x as string in stringArray
end for
于 2013-05-20T12:59:33.153 回答
0

一种选择是通过该Split方法拆分“,”和“&”并忽略空条目,如下所示:

Dim sa As String = "1,2,3&&4,5,6"
Dim split As String() = sa.Split(New Char() {",", "&"}, StringSplitOptions.RemoveEmptyEntries)

For Each value In split
    Debug.WriteLine(value)
Next
于 2013-05-20T13:04:23.970 回答
0

您可以使用正则表达式作为分隔符进行拆分:

Imports System.Text.RegularExpressions 'goes at the top of the module

For Each x As String In Regex.Split(sa, "\,|&&")

正则表达式的意思是“逗号或两个&”。请注意,您需要使用反斜杠“转义”逗号;这是因为逗号在正则表达式中做了一些特殊的事情。

不要忘记用引号将您的字符串括起来:

dim sa as string="1,2,3&&4,5,6"
于 2013-05-20T12:58:22.543 回答