بسیار عالی!

در کد تابع lastword یک موردی هست:
<Extension()> Function LastWord(str As String) As String
If str.EndsWith(Space(1)) = True Then Return ""
Dim spl() As String = str.Split(Space(1))
If spl.Length > 0 Then
Return spl(spl.Length - 1)
End If
Return ""
End Function


اگر در str بجای یک space ، چند تا پشت سر هم باشه و یا بین wordها از tab یا crlf استفاده شده باشه،
دیگه نمیشه از str.split(space(1)) استفاده کرد چون درست تشخیص نمیده.

گذشته از این، اگر str خودش شامل یک یا چند string درون "" یا '' باشه که داخل اون space باشه باز هم مشکل داریم.

من یک نمونه درست کردم که مشکل رو نشون بده:
Dim spl() As String = TB1.Text.Split(Space(1))
ListBox1.Items.Clear()
For i As Integer = 0 To UBound(spl)
ListBox1.Items.Add(spl(i))
Next
ListBox1.Items.Add("---END---")


Screenshot 2022-10-15 104054.png