Vb.net 如果RichtextBox中的第一行没有';不包含数字

Vb.net 如果RichtextBox中的第一行没有';不包含数字,vb.net,Vb.net,我需要一些代码来检查richtextbox的第一行是否包含数字 大概是这样的: If Richtextbot1.Lines(0) contains Numbers Then Goto startbot Else End If 下面是我的richtextbox行的一个示例: 安大略省皇后大道西2245号,M6R2W7 香港湾仔皇后大道12号 上,M2N4E3 如果第一行包含4个或更多数字,它将使用它。在每个循环之后,它将删除第1行。所以它在下一行重复。当我的代码到达第三行,但找不到4个或更多的数

我需要一些代码来检查richtextbox的第一行是否包含数字

大概是这样的:

If Richtextbot1.Lines(0) contains Numbers Then
Goto startbot
Else
End If

下面是我的richtextbox行的一个示例:

  • 安大略省皇后大道西2245号,M6R2W7

  • 香港湾仔皇后大道12号

  • 上,M2N4E3


  • 如果第一行包含4个或更多数字,它将使用它。在每个循环之后,它将删除第1行。所以它在下一行重复。当我的代码到达第三行,但找不到4个或更多的数字时,它需要删除该行。

    您可以简单地遍历该行中的字符,查找一个数字,前提是如果您找到一个数字,您将能够找到您称为“数字”的内容

    Public Function DoesLineContainNumber() As Boolean
        For index As Integer = 0 To RichTextBox1.Lines(0).Length - 1
            If Char.IsDigit(RichTextBox1.Lines(0)(index)) Then
                Return True
            End If
        Next
        Return False
    End Function
    
    然后,您可以通过解析从找到的第一个数字开始的字符串来提取这些“数字”。

    试试这个

    Dim firstLineContainsNumber As Boolean = ContainsNumber(RichTextBox1.Lines(0))
    ...
    
    Public Function ContainsNumber(input As String) As Boolean         
        Dim myRegex As New Regex("\d")        
        Return (myRegex.IsMatch(input))        
    End Function
    

    试试这个,我使用匹配项检查第一行的数字,然后为每个匹配项向计数变量添加1:

      Dim count As Integer
        Dim matches As MatchCollection = Regex.Matches(RichTextBox1.Lines(0), "\d")
    
        For Each m As Match In matches
            For Each c As Capture In m.Captures
                count += 1
            Next
        Next
    
       If count >= 4 Then
            MsgBox("contains 4 or more numbers")
        End If
    

    非常模糊。“ABC123XYZ”是否包含数字?“单词”之间有某种分离吗?谢谢西蒙。还有一件事,我如何编辑该函数,以便它检查该行是否包含4个或更多数字?我应该在开头提到这一点。你必须定义“数字”。你是说像1,2,3,4这样的个位数吗。。。或者你是说像4,56,123,9876之类的数字。。。你指的是十进制、十六进制、八进制还是其他一些基数?这些可以是像1.23、7.21e-3之类的浮点数吗。。。?一旦你定义了数字的含义,你就可以编写一个解析器,或者甚至是一个正则表达式来确定行中有多少个“数字”。下面是我的richtextbox行的一个例子:LINE1:2245 queen st west,ON,M6R2W7 LINE2:12 RRw Rd,ON,M8R4W5 LINE3:ON,M2N4E3如果第一行包含4个或更多数字,它将使用它。在每个循环之后,它将删除第1行。所以它在下一行重复。当我的代码到达第三行,但它找不到4个或更多的数字时,它需要删除该行。帮我一个忙,将您最后一条评论中的信息添加到原始帖子中。这样,您的帖子将显示在活动帖子页面上。