VB.Net - 从文本框中提取

时间:2014-11-28 00:34:00

标签: vb.net visual-studio-2010

我有一个包含数据的文本框。

"data": "100005337941637",
"data": "100004464150724",
etc..

我只想要数字(“100005337941637”)。

我的代码对我来说几乎不错,但指定的不够。

For Each m As Match In New Regex("\d+").Matches(TextBox1.Text)
            TextBox2.Text &= m.Value & Environment.NewLine
        Next

我可以过滤我的号码吗? 如果我的数字是10-15位数,那么它没关系,如果没有,那么它将被删除。

实施例: 100005337941637 -okay 100004464150724 - 好的 1043434 - 没关系

谢谢。

1 个答案:

答案 0 :(得分:0)

几乎就在那里,试试"[\d]{10,15}(?=[""])"

这匹配最小长度为10但不大于15的任何数字位数。然后最后检查模式中的最后一位数字后跟引号",因为这意味着它是最后一位数字字符串。

或者,你可以修改这样的东西(未经测试):

For Each xVar In Split(TextBox1.Text, vbCrLf)
   For i = 1 To Len(xVar)
      If IsNumeric(Mid(xVar, i, 1)) Then xStr = xStr & Mid(xVar, i, 1)
   Next i

   If Len(xVar) > 9 And Len(xVar) < 16 Then MsgBox(xVar.ToString)

   xStr = vbNullString

Next xVar