在我的应用程序中,我有这样的字符串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
怎么能过来呢?怎么能改成单循环?有可能吗?。
答案 0 :(得分:2)
据我了解,您只想在for each
中使用一个for each
而不是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
答案 1 :(得分: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
答案 2 :(得分: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"
答案 3 :(得分: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