我需要某种代码来检查richtextbox中的第一行是否包含数字。
这样的事情:
If Richtextbot1.Lines(0) contains Numbers Then
Goto startbot
Else
End If
以下是我的richtextbox行的示例:
2245皇后西,ON,M6R2W7
12 RRw Rd,ON
ON,M2N4E3
如果第一行包含4个或更多数字,它将使用它。在每个循环之后它将删除第1行。因此它将重复下一行。当我的代码到达第3行时,它没有找到4个或更多数字,它需要删除该行。
答案 0 :(得分:0)
你可以简单地遍历行中的字符,寻找一个基于前提的字符,如果你找到一个数字,你将能够找到你所谓的“数字”。
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
然后,您可以通过解析以找到的第一个数字开头的字符串来提取这些“数字”。
答案 1 :(得分:0)
试试这个
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
答案 2 :(得分:0)
试试这个,我使用匹配来检查第一行的数字,然后对于每个匹配我将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