Please, read my comment to the question first.
Check this:
Dim singleline As String = "abcde 12345 xyz 587964"
Dim words As String() = singleline.Split(New String(){" "}, StringSplitOptions.RemoveEmptyEntries)
For Each word As String In words
Console.WriteLine(word)
Next
Result:
abcde
12345
xyz
587964
[EDIT]
If you would like to get next/previous word, you have to write method similar to
SelectLine
provided by me in this solution:
Move to next & back line in richtextbox via button click[
^]
[EDIT#2]
On the top of Form1 module:
Dim currentword As Integer = 0
Public Enum Direction
Up = -1
Down = 1
End Enum
Events for next/previous buttons:
Private Sub BtnNextWord_Click(sender As Object, e As EventArgs) Handles BtnNextWord.Click
DisplayWords(Direction.Down)
End Sub
Private Sub BtnPrevWord_Click(sender As Object, e As EventArgs) Handles BtnPrevWord.Click
DisplayWords(Direction.Up)
End Sub
Procedure to display words:
Private Sub DisplayWords(direction As Direction)
Dim words As String() = Me.RichTextBox1.Lines _
.SelectMany(Function(line) line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)) _
.ToArray()
Me.TxtCurrentWord.Text = words(currentword)
Me.TxtPreviousWord.Text = If(currentword > 0, words(currentword - 1), Nothing)
Me.TxtNextWord.Text = If(currentword < words.Count - 1, words(currentword + 1), Nothing)
currentword += direction
If currentword < 0 Then currentword = 0
If currentword > words.Count - 1 Then currentword = words.Count - 1
End Sub