Как подсчитать количество слогов в word с помощью приложения visual basic для windows
у графа полслова не написал заявление
Что я уже пробовал:
Imports System.Text.RegularExpressions Public Class Form1 Private Function SyllableCount(ByVal word As String) As Integer word = word.ToLower().Trim() Dim pattern As String = "[aeiouy]+" Dim count As Integer = Regex.Matches(word, pattern).Count If word.EndsWith("e") Then count -= 1 End If If count < 1 Then count = 1 End If Return count End Function Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub txtInput_TextChanged(sender As Object, e As EventArgs) Handles txtInput.TextChanged Dim inputText As String = txtInput.Text Dim ltr As String Dim wordCount As Integer Dim sentenceCount As Integer Dim syllableCount As Integer Dim i As Integer Dim inWord As Boolean = False Dim vowels As String = "aeiouy" ' Make the string case insensitive. inputText = inputText.ToLower() For i = 0 To inputText.Length() - 1 ltr = inputText.Substring(i, 1).ToLower If ltr = "'" Then ' do nothing if apostrophe ElseIf (ltr >= "a" And ltr <= "z") Then ' check for alphabetic input If Not inWord Then ' new word wordCount += 1 ' add 1 to count End If inWord = True Else ' could be space, full stop, comma etc inWord = False ' no longer in word ' check if end of sentence If (ltr = "." Or ltr = ":" Or ltr = ";" Or ltr = "?" Or ltr = "!") Then sentenceCount += 1 ' add 1 to count End If End If Next Dim input As String = inputText.Length() - 1 Dim ch As Char Dim inVowel As Boolean = False ' syllable count is zero if no input If (input < 0) Then syllableCount = 0 End If ' e at end of word doesn't count as a vowel ch = inputText.Substring(inputText.Length - 1) If (ch = "e") Then input -= 1 End If For Each ch In inputText If (vowels.IndexOf(ch) >= 0) Then If Not inVowel Then syllableCount += 1 End If inVowel = True End If Next ' every word has at least one syllable If (syllableCount = 0) Then syllableCount += 1 End If TextBox1.Text = wordCount TextBox2.Text = sentenceCount TextBox3.Text = syllableCount End Sub End Class
Suvendu Shekhar Giri
Пожалуйста, добавьте больше описания вашей проблемы, чтобы мы могли вам помочь.
OriginalGriff
Что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?
Richard MacCutchan
Попробуйте некоторые из этих ритмов: 2 слога(вроде), гипербола: 4, Бриз: 1, красивый: 3 ...
Patrice T
Опишите, что делает ваш код и почему он ошибочен.