public async Task <TextAnalysisOutput> GetCharactersCountAsync(TextAnalysisIntput input)
        {
            var str = new StringBuilder(input.Text.Length);

            using (var reader = new StringReader(input.Text))
            {
                int  i = 0;
                char c;
                for (; i < input.Text.Length; i++)
                {
                    c = (char)reader.Read();
                    if (!char.IsWhiteSpace(c))
                    {
                        str.Append(c);
                    }
                }
            }

            var result = new TextAnalysisOutput()
            {
                Description = $"This text includes {str.Length} characters!"
            };

            return(result);
        }
        public async Task <TextAnalysisOutput> GetWordsCountAsync(TextAnalysisIntput input)
        {
            if (string.IsNullOrWhiteSpace(input.Text))
            {
                return(null);
            }

            int count  = Regex.Matches(input.Text, @"[A-Za-z0-9]+").Count;
            var result = new TextAnalysisOutput()
            {
                Description = $"This text includes {count} words!"
            };

            return(result);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> ResultText([FromBody] TextAnalysisIntput text)
        {
            List <TextAnalysisOutput> listResult = new List <TextAnalysisOutput>
            {
                await _textAnalysisService.GetCharactersCountAsync(text),
                await _textAnalysisService.GetWordsCountAsync(text)
            };
            var test = listResult;

            //if (result == null)
            //{
            //    return NotFound();
            //}
            return(Ok(listResult));
        }