如何检测元音

时间:2014-03-31 16:37:19

标签: .net vb.net string

我创建了一个弯曲芬兰语语法的程序,现在我需要一些帮助。为了使程序工作,我必须以某种方式使其能够检测元音(a,e,i,o,u,y,ä,ö)。

例如,如果一个单词以两个元音结尾,它将在一个方向上弯曲单词。如果它以元音加'ta'或'tä'结尾,它将以不同方式弯曲。如果单词与这两个单词中的任何一个都不匹配,它将在第三个方向上弯曲它。

我感谢任何帮助:)

编辑:

' Handle singular
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If InStr(TextBox1.Text, "n") Then
        TextBox2.Text = TextBox1.Text
        TextBox2.Text = TextBox2.Text.Remove(TextBox2.TextLength - 1, 1)
        TextBox3.Text = "älä " & TextBox2.Text
    Else
        TextBox1.Text = "fel form"
    End If
End Sub
' Handle plural
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim str As String
    str = TextBox6.Text
    Dim vokal As String
    vokal = "a"
    If str.EndsWith(vokal + vokal) = True Then
        MsgBox("The string ends with a vokal!! ")
    Else
        MsgBox("Failure!")
    End If

    If InStr(TextBox6.Text, "n") Then
        TextBox2.Text = TextBox1.Text
        TextBox2.Text = TextBox2.Text.Remove(TextBox2.TextLength - 1, 1)
        TextBox3.Text = "älä " & TextBox2.Text
    Else
        TextBox1.Text = "fel form"
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

也许您可以使用regular expression

Dim input As String = ...
If Regex.IsMatch(input, "[aeiouyäö]{2}$") Then
    Console.WriteLine("This word ends with two vowels")
Else If Regex.IsMatch(input, "[aeiouyäö]{2}t[aä]$") Then
    Console.WriteLine("This word ends with two vowels and 'ta' or 'tä'")
Else
    Console.WriteLine("This word does not meet either of the other conditions")
End If

解释有关此代码的一些详细信息:

  • [aeiouyäö]character class,匹配单个字符a,e,i,o,u,y,ä,ö。
  • {2}quatifier,匹配前一个字符,字符类或组的任意两个实例。
  • $是一个anchor,它匹配字符串的结尾(或多行模式中的行)。