Vb.net 将字符串值转换为整数数组

Vb.net 将字符串值转换为整数数组,vb.net,string,Vb.net,String,我的字符串是TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown。我想在这个字符串中获取整数数组(201520162014201520132014)。怎么做 编辑 我试着这样做 Dim x As String = "TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown" Dim y As String = String.Empty

我的字符串是
TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown
。我想在这个字符串中获取整数数组
(201520162014201520132014)
。怎么做

编辑

我试着这样做

Dim x As String = "TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown"

        Dim y As String = String.Empty

        For Each xstr As String In x.Split(",")

            y &= xstr.Split("_")(1).Replace("-", ",")

        Next

        Dim xarr() As Integer = Array.ConvertAll(y.Split(","), Function(str) Int32.Parse(str))
它的返回输出

(0): "2015"
(1): "20162014"
(2): "20152013"
(3): "2014"
但是我想要

 (0): "2015"
 (1): "2016"
 (2): "2014"
 (3): "2015"
 (4): "2013"
 (5): "2014"
注意
TE
未知
不是静态字符串。我给出了一个示例字符串。

用“\u”和“-”将其替换,然后选择可以解析的字符串

Int32 value
String s = "TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown"
s.Split(new ['-', '_']).Where(Function(w) Int32.TryParse(w, out value))

下面是一种使用正则表达式的方法:

    Dim data As String = "TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown"

    Dim strNumbers As New List(Of String)
    For Each m As System.Text.RegularExpressions.Match In System.Text.RegularExpressions.Regex.Matches(data, "\d+")
        strNumbers.Add(m.ToString)
    Next

    Dim numbers() As Integer = Array.ConvertAll(strNumbers.ToArray, Function(x) Int32.Parse(x))

    For Each number As Integer In numbers
        Debug.Print(number)
    Next
编辑:不使用循环的另一个变体

Imports System.Text.RegularExpressions
Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim data As String = "TE_2015-2016_UnKnown,TE_2014-2015_UnKnown,TE_2013-2014_UnKnown"

        Dim numbers = (From n In Regex.Matches(data, "\d+") Select Integer.Parse(n.value)).ToArray

        For Each number As Integer In numbers
            Debug.Print(number)
        Next
    End Sub

End Class

我们帮助那些自助的人。你试过什么?我们将帮助调试您的代码,但我们不会为您编写代码。请发布您已经厌倦的任何代码,并详细描述您遇到的问题。@MattClark我使用for循环编写了代码。但是我想没有外循环,只有我没有发布代码如果你不发布代码,我们就帮不了你。。请编辑您的问题以提供适当的信息。@MattClark现在查看我的问题谢谢先生。有可能没有外环?