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); }
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)); }