Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 22.07.2013
Сообщений: 30
1

Все слова длиннее X, заменить на первые Y букв и точку

17.08.2013, 14:55. Показов 1396. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть строка. Все слова длинее X , заменяет на первые Y букв и точку. X и Y ввести с клавиатуры. Строку вывести на экран.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            string str = Console.ReadLine();
            string x = Console.ReadLine();
            try
            {
             int X = Int32.Parse(x);
             string[] mas = str.Split(' ');
 
            foreach (string s in mas)
                if (s.Length > X) 
                    
                str = str.Replace(str, "");}
            
            catch (FormatException e)
            {
                Console.WriteLine(e.Message);
            }
       
            Console.WriteLine(str);
            Console.ReadLine();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2013, 14:55
Ответы с готовыми решениями:

Все слова (кроме первого и последнего), длиннее К символов, заменить последовательностью из заданного символа
#include <iostream> using namespace std; #define N 40 void func() { cout << "Замена...

Заменить все повторы первой буквы слова на точку
Помогите решить задачку: С клавиатуры вводится строка состоящая из слов набранных заглавными...

Заменить в строке все предыдущие вхождения последней буквы заданного слова на точку
Задание:Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных...

Вывести на экран слова, длиннее двадцати букв
Помогите! Поиск слов, длиннее 20 букв (фраз с пропущенными пробелами между словами) и вывод их на...

5
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
17.08.2013, 15:41 2
Regex
0
0 / 0 / 1
Регистрация: 22.07.2013
Сообщений: 30
17.08.2013, 16:01  [ТС] 3
а подробней ?

Добавлено через 4 минуты
а может Remove нужно использовать?
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
17.08.2013, 16:33 4
C#
1
2
3
if (s.Length > X) 
  s=s.Substring(0, Y)+'.';
Console.WriteLine(string.Join(" ", mas));
0
0 / 0 / 1
Регистрация: 22.07.2013
Сообщений: 30
17.08.2013, 17:19  [ТС] 5
код с ошибками
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
string str = Console.ReadLine();
            string x = Console.ReadLine();
            string Y = Console.ReadLine();
            try
            {
                int X = Int32.Parse(x);
                string[] mas = str.Split(' ');
 
                foreach (string s in mas)
                    if (s.Length > X)
                    {
                        s = s.Substring(0, Convert.ToInt32(Y)) + '.';
                    }
                Console.WriteLine(string.Join(" ", mas));
 
            }
 
            catch (FormatException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
17.08.2013, 19:27 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication22
{
    class Program
    {
        static void Main(string[] args)
        {
            string s =
                @"Есть строка. Все слова длинее X , заменяет на первые Y букв и точку. X и Y ввести с клавиатуры. Строку вывести на экран. Пусть X = 4, Y = 3, тогда";
            Console.WriteLine(s + Environment.NewLine + Environment.NewLine);
            var result = ReplaceLongWords(s, 4, 3);
            Console.WriteLine(result);
            Console.ReadKey();
        }
 
        private static string ReplaceLongWords(string s, int length, int neededLength)
        {
            if (neededLength > length)
                throw new ArgumentException();
            string pattern = @"\b\w{" + (length + 1) + @",}\b";
            var regex = new Regex(pattern);
            return regex.Replace(s, m => m.Value.Substring(0, neededLength) + ".");
        }
    }
}
1
17.08.2013, 19:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2013, 19:27
Помогаю со студенческими работами здесь

Ввести последовательность символов, заканчивающихся "*" выяснить: сколько пробелов, сколько букв А, сколько букв С, все буквы А заменить на точку
В оконном режиме Delphi

Двумерные массивы: вывести все слова, длиннее слова A$(i,j)
Пожалуйста помогите Задание: Занести произвольные данные в двумерный массив. Вывести все слова...

Регулярные выражения - инвертировать регистр первого символа каждого слова длиннее 3 букв
Привет, ребят! Помогите решить задачу с регулярными выражениями, уж очень тяжко мне они даются.Буду...

Во вводимой строке заменить все слова с цифрами на такое же количество букв A
Во вводимой строке заменить все слова с цифрами на такое же количество букв A. Здравствуйте, у...

Дополнить предыдущую программу так, чтобы отдельно дополнительно печатались слова, которые длиннее 8 букв
Задача 2. Дополнить предыдущую программу так, чтобы отдельно дополнительно печатались слова,...

Строки. Заменить все первые буквы каждого слова во введенной фразе цифрой "1"
Написать программу, которая заменяет все первые буквы каждого слова во введенной фразе цифрой "1"....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru