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现在查看我的问题谢谢先生。有可能没有外环?