Как извлечь последнее слово из предложения, введенного в текстовое поле vb. net - PullRequest
0 голосов
/ 27 апреля 2020

Мне нужно написать код, чтобы проверить первую букву последнего слова, введенного в текстовое поле. Как мне сделать это в VB. net?

Ответы [ 4 ]

2 голосов
/ 27 апреля 2020

Вы можете просто сделать это, используя linq:

Imports System.Linq
...

Dim text as String = textbox1.Text

If (String.IsNullOrWhiteSpace(text)) Then 'text can't be null or empty
     Return
End If

Dim firstLetterOfLastWord As String = text.Split(" ").LastOrDefault().FirstOrDefault()
1 голос
/ 27 апреля 2020

@ fsbflavio предоставил опрятное решение, но оно настолько опрятное, вероятно, ваш учитель будет знать, что вы сами этого не сделали.

Более неуклюжее, пошаговое решение будет:

    Dim text As String = textbox1.Text

    If (String.IsNullOrWhiteSpace(text)) Then 'text can't be null or empty
        Return ""
    Else
        Dim words As String() = text.Split(" ")
        Dim NumberOfWords As Integer = words.Length
        Dim LastWord = words(NumberOfWords - 1) 'Remember arrays start at index 0
        Dim FirstLetter As String = LastWord.Substring(0, 1)
        Return FirstLetter 
    End If

Не так элегантно, но оно показывает вашу работу. Видя, как это разбивается шаг за шагом, вот так, может быть, в следующий раз вам стоит сначала попробовать себя и спросить здесь только при возникновении конкретной проблемы c.

0 голосов
/ 27 апреля 2020

Нет необходимости создавать массив строк.
Получить последний индекс пробела - используя String.SubString и String.LastIndexOf вместе - увеличить на 1 свою позицию и взять подстроку длины 1:

Dim theFirstOfTheLast = someText.Substring(someText.LastIndexOf(" ") + 1, 1)
0 голосов
/ 27 апреля 2020

В коде generall @ fsbflavio правильный, но его можно упростить в oneliner:

Dim firstLetterOfLastWord As String = TextBox1.Text.Split(" ").Last().FirstOrDefault()

Если текстовое поле пустое (это может быть пустая строка), оно вернет vbNullChar. В противном случае он вернет первую букву последнего слова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...