Ejemplo n.º 1
0
        public static async Task <string> StripJapanese(this string input)
        {
            //TODO: Add support for titles like Bakamitai ばかみたい (Romanized)

            if (WanaKana.IsJapanese(input))
            {
                string converted = await GetTransliteration(input, false);

                input = converted;
            }
            //TODO: Fix romanization issues, like with the string "潜潜話 (Hisohiso Banashi)", which only contains kanji and is not detected as mixed
            else if (WanaKana.IsMixed(input) || WanaKana.IsKanji(input))
            {
                //checks if title follows "romaji (japanese)" format
                //and keeps only romaji.
                if (input.Contains("("))
                {
                    string inside  = Regex.Match(input, @"(?<=\()(.*?)(?=\))").Value;
                    string outside = Regex.Replace(input, @" ?\(.*?\)", "");

                    if (ContainsJapanese(inside))
                    {
                        input = outside;
                    }
                    else if (ContainsJapanese(outside))
                    {
                        input = inside;
                    }
                }
            }

            //Returns unchanged input if it doesn't follow format
            return(input);
        }
Ejemplo n.º 2
0
 public static bool ContainsJapanese(this string text) => WanaKana.IsMixed(text) || WanaKana.IsJapanese(text);
 public void IsMixedResponsesMatch(string input, bool expectedResult)
 {
     Assert.Equal(expectedResult, WanaKana.IsMixed(input));
 }
        public void IsMixedWithPassKanji()
        {
            var isMixed = WanaKana.IsMixed("お腹A", passKanji: false);

            Assert.False(isMixed);
        }
 public void EmptyReturnsFalse()
 {
     Assert.False(WanaKana.IsMixed(string.Empty));
 }