我只是想找到当前行的第一个空格的位置索引。
我编写了仅对整个Richtextbox中的第一个空格有效的代码,但是如果我尝试获取以下空格的位置索引(同一行或以下各行),则总会得到- 1,我不知道为什么。
我一直在阅读以下文档: MSDN documentation link
我已经通过以下方式使用了 Find(Char [],Int32)选项:
RTB1.Find(CChar(" "), RTB1.GetFirstCharIndexOfCurrentLine)
问题是当我尝试在第一个空格之后检测以下一个空格时,我得到-1。如果我使用该代码检测第一行的第一个空白,则结果为6(这是正确的)。但是对于以下空格,即使是第一行或以下几行,我总会得到-1。
答案 0 :(得分:1)
此代码将一次性为您提供所有空格字符的索引:
Dim index = RichTextBox1.Find({" "c})
Do Until index = -1
MessageBox.Show(index.ToString())
index = RichTextBox1.Find({" "c}, index + 1)
Loop
如果您想一次获得一个,则需要这样的东西:
Private index As Integer = -1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
index = RichTextBox1.Find({" "c}, index + 1)
If index = -1 Then
MessageBox.Show("No more spaces")
Else
MessageBox.Show(index.ToString())
End If
End Sub
答案 1 :(得分:0)
尝试一下。
Dim last = Me.rtb.Find(New Char() {" "}, Me.rtb.GetFirstCharIndexOfCurrentLine)