计算RichTextBox中两个值之间的行数



我想在一个Richtextbox中计算2个值之间的行,这取决于它是否更容易,如果它们是相同的值,我可以编辑将显示在Richtextbox中的数据。

Richtextbox看起来像这样:

--BEGIN1
ABC
DEF
GHI
KLM
--END1
--BEGIN2
NOP
QRS
TUV
--END2

等等…我想计算开始/结束

之间的行数我尝试了不同的方法,但我不能让它在这些值之间计数。

背后的想法是告诉我,如果值之间的行数是正确的,或者如果有一行缺失,将添加一个警告的文本,但我可以弄清楚我自己,帮助计数2个值之间的行将不胜感激。

TiA

首先从RichTextBoxLines属性获取行。然后遍历这些行并记住块开始的索引。当遇到块结束时,可以很容易地计算开始和当前索引之间的行数。

Dim lines As String() = richTextBox1.Lines
Dim start As Integer
Dim blockNumber As String = ""
For i As Integer = 0 To lines.Length - 1
Dim line As String = lines(i)
If line.StartsWith("--BEGIN") Then
blockNumber = line.Substring(7)
start = i
ElseIf line.StartsWith("--END") Then
Console.WriteLine($"Block # = {blockNumber}, Number of lines = {i - start - 1}")
End If
Next

对于您的示例,这在控制台测试中打印:

Block # = 1, Number of lines = 4
Block # = 2, Number of lines = 3

你必须用任何你想做的结果来替换Console.WriteLine

最新更新