Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2016, 15:39   #1
scarecrow_1
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 28
По умолчанию Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Заменить все английские слова на многоточие.

Дана строка, в которой содержится осмысленное текстовое сообщение. Слова
сообщения разделяются пробелами и знаками препинания.

Заменить все английские слова на многоточие.

Код:
 class Program
    {
        static string MyText(string text )
        {
            
            string pattern = "([a-zA-Z])";
            string replacement = ".";
            Regex rgx = new Regex(pattern);
            return rgx.Replace(text, replacement);
            
            
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите предложение");
            string text = Console.ReadLine();
            Console.WriteLine("Результат замены:");
            string result = MyText(text);
            Console.Write("Нажмите любую клавишу для завершения ");
            Console.ReadKey();
        }
    }
Ребят,почему он не заменяет слова?(:


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 08.12.2016 в 16:13.
scarecrow_1 вне форума Ответить с цитированием
Старый 08.12.2016, 16:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от scarecrow_1 Посмотреть сообщение
Ребят,почему он не заменяет слова?(:
потому что Вы результат никуда не выводите!

вывести текст надо:
Код:
            string result = MyText(text);
            Console.WriteLine("Результат замены: {0}", result);
но это шаблон для выделения ОДНОЙ буквы.
то есть, будет замена каждая буква на одну точку.
А, насколько я понял, в задании нужно заменить ОДНО СЛОВО на многоточие (...)
я ошибаюсь?

если не ошибаюсь, тогда попробуйте так:
Код:
            string pattern = @"\b([a-zA-Z]+)\b";
            string replacement = "...";
            Regex rgx = new Regex(pattern);
            return rgx.Replace(text, replacement);

Последний раз редактировалось Serge_Bliznykov; 08.12.2016 в 16:38.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.12.2016, 16:30   #3
scarecrow_1
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 28
По умолчанию

Нужно все английские слова заменить, и без скобок так же не заработало(
scarecrow_1 вне форума Ответить с цитированием
Старый 08.12.2016, 16:41   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

вот это работает
Код:
public class Program
    {
        static string MyText(string text )
        {
            
            string pattern = "([a-zA-Z])";
            string replacement = ".";
            Regex rgx = new Regex(pattern);
            return rgx.Replace(text, replacement);
            
            
        }
        public static void Main(string[] args)
        {
            Console.WriteLine("Введите предложение");
            string text = "df Фа fa fasaf фааа";//Console.ReadLine();
            Console.WriteLine("Результат замены:");
            string result = MyText(text);
            Console.Write(result + "\nНажмите любую клавишу для завершения ");
        }
    }
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 08.12.2016, 16:41   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

да, исправил свой пост выше. проблема была не в скобках, а в том, что Вы полученные ответ в переменной result никуда не выводите.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка,слова разделены пробелами thedoctor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 08.01.2014 14:04
Дан текст, слова разделяются пробелами. Разработать программу, реализующие следующие действия над текстом.. lapo4ka1996 Паскаль, Turbo Pascal, PascalABC.NET 2 30.10.2013 13:13
Дан текст, в котором слова отделяются друг от друга пробелами, удалить из текста все повторно встречающиеся слова Anton94.by Паскаль, Turbo Pascal, PascalABC.NET 1 16.12.2011 11:03
Символьная строка содержит слова, разделенные пробелами. Найти все слова-палиндромы (Паскаль) sashunechka Помощь студентам 4 18.05.2011 21:45