示例#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);
        }
示例#2
0
 //[TestCase("≪偽括弧≫", new Regex("[≪≫]") ExpectedResult = true)]
 public bool IsJapanese(string input, Regex allowed = null) => WanaKana.IsJapanese(input, allowed);
示例#3
0
 public static bool ContainsJapanese(this string text) => WanaKana.IsMixed(text) || WanaKana.IsJapanese(text);
示例#4
0
        public void IsJapaneseAcceptsOptionalAllowedCharsRegex()
        {
            var isJapanese = WanaKana.IsJapanese("≪偽括弧≫", new Regex("[≪≫]"));

            Assert.True(isJapanese);
        }
示例#5
0
        public void IsJapaneseAcceptsOptionalAllowedChars()
        {
            var isJapanese = WanaKana.IsJapanese("≪偽括弧≫", '[', '≪', '≫', ']');

            Assert.True(isJapanese);
        }
示例#6
0
 public void IsJapaneseResponsesMatch(string input, bool expectedResult)
 {
     Assert.Equal(expectedResult, WanaKana.IsJapanese(input));
 }
示例#7
0
 public void EmptyReturnsFalse()
 {
     Assert.False(WanaKana.IsJapanese(string.Empty));
 }
 //[TestCase("≪偽括弧≫", new Regex("[≪≫]") ExpectedResult = true)]
 public Boolean IsJapanese(String input, Regex allowed = null) => WanaKana.IsJapanese(input, allowed);