slyshaun1 Ответов: 1

Найдите весь список ключевых слов в описании и замените их заглавной версией.


Мне дают длинное текстовое "описание" и список ключевых слов. Моя задача-найти все ключевые слова в описании и заменить их заглавной версией. Возвращать преобразованный текст описания будут все ключевые слова в верхнем регистре. Я нахожу, что трудность заключается в поиске по списку с помощью linq.

Что я уже пробовал:

<pre>public static string UpperCaseAllTheKeywords(string description, string[] keywords)
        {
            return description.Split(' ').SelectMany(x => x.ContainsAny(keywords) ? x.ReplaceAll(keywords.Select(i => i), keywords.Select(i => i.ToUpper()) : x).ToString();
        }

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

public static string UpperCaseAllTheKeywords(string description, string[] keywords)
        {
            keywords.ToList().ForEach(k => description = description.Replace(k, k.ToUpper()));
            return description; 
        }
// or 
        public static string UpperCaseAllTheKeywords(string description, string[] keywords)
        {
           List<string> lst = new List<string> ();
           description.Split(' ').ToList().ForEach(k =>  lst.Add( keywords.Contains(k) ?  k.ToUpper() :(k)));
             
           return string.Join(" ",lst);
        }