Пример #1
0
        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)));
        }
Пример #2
0
        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]);
            }
        }
Пример #3
0
        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());
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }