private static string RemoveWordsOnWhitelist([NotNull] string text) { var tokenizer = new WordsTokenizer(text); List <WordToken> tokens = tokenizer.GetTokens().ToList(); RemoveWhitelistedTokens(tokens); return(string.Join(string.Empty, tokens.Select(token => token.Text))); }
private static void RunTest([NotNull] string text, [NotNull] params WordToken[] expected) { var tokenizer = new WordsTokenizer(text); WordToken[] tokens = tokenizer.GetTokens().ToArray(); tokens.Should().HaveSameCount(expected); for (int index = 0; index < tokens.Length; index++) { tokens[index].Should().Be(expected[index]); } }
public static ICollection <WordToken> GetWordsInList([NotNull] this string identifierName, [NotNull][ItemNotNull] ICollection <string> list) { Guard.NotNull(identifierName, nameof(identifierName)); Guard.NotNullNorEmpty(list, nameof(list)); if (string.IsNullOrWhiteSpace(identifierName) || !QuickScanMayContainWordsListed(identifierName, list)) { return(ImmutableArray <WordToken> .Empty); } var tokenizer = new WordsTokenizer(identifierName); return(tokenizer.GetWords().Where(word => IsListed(word, list)).ToArray()); }
public static bool StartsWithWordInList([NotNull] this string identifierName, [NotNull][ItemNotNull] ICollection <string> list) { Guard.NotNull(identifierName, nameof(identifierName)); Guard.NotNullNorEmpty(list, nameof(list)); if (string.IsNullOrWhiteSpace(identifierName) || !QuickScanMayContainWordsListed(identifierName, list)) { return(false); } var tokenizer = new WordsTokenizer(identifierName); WordToken[] words = tokenizer.GetWords().Take(1).ToArray(); return(words.Any() && IsListed(words.First(), list)); }
public static bool ContainsWordInTheMiddle([NotNull] this string identifierName, [NotNull] string word) { Guard.NotNull(identifierName, nameof(identifierName)); Guard.NotNullNorWhiteSpace(word, nameof(word)); if (string.IsNullOrWhiteSpace(identifierName) || !QuickScanMayContainWord(identifierName, word)) { return(false); } var tokenizer = new WordsTokenizer(identifierName); WordToken[] identifierTokens = tokenizer.GetWords().ToArray(); return(TokenSetContainsWordInTheMiddle(identifierTokens, word)); }