2014-03-31 67 views
0

我創建了一個彎曲芬蘭語語法的程序,現在我需要一些幫助。爲了使程序正常工作,我必須以某種方式使它能夠檢測元音(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

'彎'字 - 這是什麼意思? – Jamiec

+0

我認爲它的英文叫做「改變形式」。我認爲這對芬蘭來說是獨一無二的。客戶端(例如jQuery)或服務器端(VB)上的 – user3198523

+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,它匹配字符串的末尾(或多行模式下的行)。
+0

這就像我想要的,謝謝,但是如果我使用這段代碼,我得到構建錯誤:期望的開始'<'爲XML標籤。 http://choo.ga/i/0I7b.png – user3198523

+0

@ user3198523以及'''只是一個佔位符,表明你將不得不自己提供一些代碼(可能是'TextBox6.Text')。 –

+0

謝謝,這工作!我的不好,'TextBox6.Text'是正確的。 – user3198523