Для выполнения этой задачи в языке программирования C# вы можете использовать методы класса StringBuilder и класса Regex.
1. Сначала вам понадобится подключить пространство имен System.Text.RegularExpressions, чтобы использовать класс Regex:
using System.Text.RegularExpressions;
2. Затем вы можете определить метод, который будет выполнять требуемую операцию. Назовем его, например, MoveWordOccurrencesToBeginning:
public static string MoveWordOccurrencesToBeginning(string input, string word) { // Создаем экземпляр StringBuilder и инициализируем его входным значением StringBuilder sb = new StringBuilder(input); // Создаем экземпляр Regex для поиска всех вхождений слова в строке Regex regex = new Regex("\b" + word + "\b"); // Получаем все соответствия в виде коллекции Match MatchCollection matches = regex.Matches(input); // Перемещаем все найденные вхождения слова в начало строки for (int i = matches.Count - 1; i >= 0; i--) { Match match = matches[i]; sb.Remove(match.Index, match.Length); sb.Insert(0, match.Value); } // Возвращаем результат как строку return sb.ToString(); }
3. Используйте этот метод для проверки:
string input = "это слово слово слово. Это другое слово."; string word = "слово"; string result = MoveWordOccurrencesToBeginning(input, word); Console.WriteLine(result);
Результатом выполнения будет:
слово слово слово это. другое это.
Обратите внимание, что данное решение учитывает только слова, разделенные пробелами или знаками пунктуации. Если вам нужно учесть другие разделители или условия, вам может потребоваться доработать регулярное выражение.