我创建了一个弯曲芬兰语语法的程序,现在我需要一些帮助。为了使程序工作,我必须以某种方式使其能够检测元音(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
答案 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,它匹配字符串的结尾(或多行模式中的行)。