TizzyT

Hiragana

Feb 27th, 2016
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.04 KB | None | 0 0
  1.         public class Hiragana
  2.         {
  3.             private static readonly string[,] table = new string[,] {
  4.             {"kya","きゃ"}, {"kyu","きゅ"}, {"kyo","きょ"}, {"gya","ぎゃ"}, {"gyu","ぎゅ"}, {"gyo","ぎょ"},
  5.             {"sha","しゃ"}, {"shu","しゅ"}, {"sho","しょ"}, {"cha","ちゃ"}, {"chu","ちゅ"}, {"cho","ちょ"},
  6.             {"nya","にゃ"}, {"nyu","にゅ"}, {"nyo","にょ"}, {"mya","みゃ"}, {"myu","みゅ"}, {"myo","みょ"},
  7.             {"hya","ひゃ"}, {"hyu","ひゅ"}, {"hyo","ひょ"}, {"bya","びゃ"}, {"byu","びゅ"}, {"byo","びょ"},
  8.             {"pya","ぴゃ"}, {"pyu","ぴゅ"}, {"pyo","ぴょ"}, {"rya","りゃ"}, {"ryu","りゅ"}, {"ryo","りょ"},
  9.  
  10.             {"shi", "し"}, {"chi", "ち"}, {"tsu", "つ"},
  11.  
  12.             {"ka","か"}, {"ki","き"}, {"ku","く"}, {"ke","け"}, {"ko","こ"},
  13.             {"ga","が"}, {"gi","ぎ"}, {"gu","ぐ"}, {"ge","げ"}, {"go","ご"},
  14.             {"sa","さ"}, {"si","し"}, {"su","す"}, {"se","せ"}, {"so","そ"},
  15.             {"za","ざ"}, {"zi","じ"}, {"ji","じ"}, {"zu","ず"}, {"ze","ぜ"}, {"zo","ぞ"},
  16.             {"ta","た"}, {"ti","ち"}, {"tu","つ"}, {"te","て"}, {"to","と"},
  17.             {"da","だ"}, {"di","ぢ"}, {"du","づ"}, {"de","で"}, {"do","ど"},
  18.             {"na","な"}, {"ni","に"}, {"nu","ぬ"}, {"ne","ね"}, {"no","の"},
  19.             {"ma","ま"}, {"mi","み"}, {"mu","む"}, {"me","め"}, {"mo","も"},
  20.             {"ha","は"}, {"hi","ひ"}, {"hu","ふ"}, {"fu","ふ"}, {"he","へ"}, {"ho","ほ"},
  21.             {"ba","ば"}, {"bi","び"}, {"bu","ぶ"}, {"be","べ"}, {"bo","ぼ"},
  22.             {"pa","ぱ"}, {"pi","ぴ"}, {"pu","ぷ"}, {"pe","ぺ"}, {"po","ぽ"},
  23.             {"ra","ら"}, {"ri","り"}, {"ru","る"}, {"re","れ"}, {"ro","ろ"},
  24.             {"ya","や"}, {"yu","ゆ"}, {"yo","よ"}, {"wa","わ"}, {"wo","を"}, {"nn","ん"},
  25.  
  26.             {"a" ,"あ"}, {"i" ,"い"}, {"u" ,"う"}, {"e" ,"え"}, {"o" ,"お"},
  27.             {"t","っ"}, {"k","っ"}, {"p","っ"}, {"s","っ"}, {"h","っ"}, {"n","ん"},
  28.  
  29.             // This is to ignore punctuation etc, add as necessary
  30.             {" ", " "}, {",",","}, {".","."}, {"!", "!"}, {"\n", "\n"}, {"-","-"}};
  31.  
  32.             public static bool IsHiragana(string h)
  33.             {
  34.                 bool valid;
  35.                 foreach (char c in h)
  36.                 {
  37.                     valid = false;
  38.                     for (int i = 0; i < table.Length / 2; i++)
  39.                     {
  40.                         if (table[i, 1].Contains(c.ToString()))
  41.                         {
  42.                             valid = true;
  43.                             break;
  44.                         }
  45.                     }
  46.                     if (valid == false) return false;
  47.                 }
  48.                 return true;
  49.             }
  50.  
  51.             public static string Parse(string r)
  52.             {
  53.                 r = r.ToLower();
  54.                 for (int i = 0; i < (table.Length / 2); i++) r = r.Replace(table[i, 0], table[i, 1]);
  55.                 return r;
  56.             }
  57.         }
Advertisement
Add Comment
Please, Sign In to add comment