我想在一个Richtextbox中计算2个值之间的行,这取决于它是否更容易,如果它们是相同的值,我可以编辑将显示在Richtextbox中的数据。
Richtextbox看起来像这样:
--BEGIN1
ABC
DEF
GHI
KLM
--END1
--BEGIN2
NOP
QRS
TUV
--END2
等等…我想计算开始/结束
之间的行数我尝试了不同的方法,但我不能让它在这些值之间计数。
背后的想法是告诉我,如果值之间的行数是正确的,或者如果有一行缺失,将添加一个警告的文本,但我可以弄清楚我自己,帮助计数2个值之间的行将不胜感激。
TiA
首先从RichTextBox
到Lines
属性获取行。然后遍历这些行并记住块开始的索引。当遇到块结束时,可以很容易地计算开始和当前索引之间的行数。
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
。