猪拉丁语翻译,辅音

时间:2014-04-15 21:41:58

标签: vb.net string

好的,所以我得到了一个小代码,试图将英语转换为猪拉丁语,我的元音工作但辅音更难,基于我所拥有的我只能删除第一个辅音, 所以"什么"被翻译成" hatway"而不是" atwhway"请帮助,我还是VB的新手,这就是我所拥有的

Public Const Vowels As String = "aeiou"
Public Const Consonant As String = "bcdfghjklmnpqrstvwxyz"
Private Const ConsonantSuffix As String = "ay"

For consonantIndex As Integer = 0 To Consonant.Length - 1 Step 1
            If word.ToLower.StartsWith(Consonant(consonantIndex).ToString) Then
                word = word.Remove(0, 1)
                word = word & Consonant(consonantIndex) & ConsonantSuffix
            End If
        Next

1 个答案:

答案 0 :(得分:1)

我建议采用不同的策略。找到索引的第一个元音,然后重新排列该索引周围的字母。

Dim index = word.IndexOfAny(Vowels.ToArray)
If (index > 0) then
    word = word.Substring(index) & word.Remove(index)
End If
word &= ConsonantSuffix

通过静态存储元音数组而不是每次都调用ToArray,可以提高效率。

示例(摘自主题Wikipedia article):

  • 'happy'→'appyhay'
  • 'duck'→'uckday'
  • 'glove'→'oveglay'
  • 'egg'→'eggay'
  • 'inbox'→'inboxay'
  • 'eight'→'eightay'