Чистим в тексте фразы с прилагательными - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Имеется текст с фразами через запятую (от 1 и более слов ). Необходимо удалить фразы где последнее слово прилагательное. Нужна функция, ниже код рабочий, но он длинный.
Листинг программы
  1. Dim blockslov As String
  2. Dim Iword As String() = TextBox1.Text.Split(New String() {","}, StringSplitOptions.RemoveEmptyEntries)
  3. For i As Integer = 0 To Iword.Count - 1
  4. ' Игнорируем прилагательные
  5. If Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ый" _
  6. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ых" _
  7. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ые" _
  8. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ий" _
  9. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "их" _
  10. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ой" _
  11. And Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) <> "ая" Then
  12. blockslov = blockslov + Iword(i).Trim & ", "
  13. End If
  14. Next
  15. ' Выводим оставшиеся слова
  16. TextBox2.Text = blockslov
В функции типа такого:
Листинг программы
  1. Dim distracted() = {"ый", "ых", "ые", "ий", "их", "ой", "ая"}
В TextBox1.Text фразы, например так:
Листинг программы
  1. блок, газоразрядный, мгновенный, напряжения лампы, электрический, мощность лампы, светильник, сеть
Должно остаться:
Листинг программы
  1. блок, напряжения лампы, мощность лампы, светильник, сеть

Решение задачи: «Чистим в тексте фразы с прилагательными»

textual
Листинг программы
  1.         Dim blockslov As String = ""
  2.         Dim Iword As String() = TextBox1.Text.Split(New String() {","}, StringSplitOptions.RemoveEmptyEntries)
  3.         Dim distracted() = {"ый", "ых", "ые", "ий", "их", "ой", "ая"}
  4.         For i As Integer = 0 To Iword.Length - 1
  5.             Dim f As Boolean = True
  6.             '   Игнорируем прилагательные
  7.             For j As Integer = 0 To distracted.Length - 1
  8.                 If Microsoft.VisualBasic.Strings.Right(Iword(i).Trim, 2) = distracted(j) Then f = False : Exit For
  9.             Next j
  10.             If f Then blockslov &= Iword(i).Trim & ", "
  11.         Next i
  12.         '      Выводим оставшиеся слова
  13.         TextBox2.Text = blockslov

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы