Форум программистов, компьютерный форум CyberForum.ru

Заменить в строке все группы подряд идущих точек на многоточие - C++

Восстановить пароль Регистрация
 
user_p01
19 / 19 / 2
Регистрация: 03.11.2011
Сообщений: 80
23.10.2012, 11:06     Заменить в строке все группы подряд идущих точек на многоточие #1
Помогите составить программу по теме "Строки":
Используя функции класса string, заменить в строке все группы подряд идущих точек на многоточие (3 точки ...). Если встречается одна точка, то также заменить ее на многоточие. В строке могут встречаться пробелы.
Пример:
книга.. кот........ стол. ключ -> книга... кот... стол... ключ
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2012, 11:06     Заменить в строке все группы подряд идущих точек на многоточие
Посмотрите здесь:

удалить из каждой группы идущих подряд цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка) C++
Из каждой группы подряд идущих слов оставить только одну C++
C++ Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
C++ Замените в тексте входного файла все группы подряд идущих пробелов на один пробел
удалить из каждой группы идущих подряд цифр нули C++
Заменить все группы подряд встречающихся нулей на один нуль C++
C++ Из группы подряд идущих элементов массива с одинаковыми значениями оставить только первый
C++ В целочисленном массиве вывести все группы идущих подряд одинаковых элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.10.2012, 12:05     Заменить в строке все группы подряд идущих точек на многоточие #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    string str = "книга.. кот........ стол. ключ";
    auto pos1 = str.find('.');
    auto pos2 = str.find_first_not_of('.', pos1);
    while (pos1 != string::npos)
    {
        str.replace(pos1, pos2-pos1, "...");
        pos1 = str.find('.', pos1+3);
        pos2 = str.find_first_not_of('.', pos1);
        
    }
    cout<<"-> "<<str<<endl;
    system("pause");
    return 0;
}
flerris
3 / 3 / 0
Регистрация: 17.08.2012
Сообщений: 145
23.10.2012, 13:27     Заменить в строке все группы подряд идущих точек на многоточие #3
Цитата Сообщение от user_p01 Посмотреть сообщение
Помогите составить программу по теме "Строки":
Используя функции класса string, заменить в строке все группы подряд идущих точек на многоточие (3 точки ...). Если встречается одна точка, то также заменить ее на многоточие. В строке могут встречаться пробелы.
Пример:
книга.. кот........ стол. ключ -> книга... кот... стол... ключ
меньше кода
C++
1
2
3
String s="книга.. кот........ стол. ключ";
    RegExp reg("[.]{1,}");
    s.replace(reg,"...");
Yandex
Объявления
23.10.2012, 13:27     Заменить в строке все группы подряд идущих точек на многоточие
Ответ Создать тему
Опции темы

Текущее время: 22:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru