Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
1

boost::algorithm::erase_all - удалить все символы

23.01.2014, 16:21. Показов 2086. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Простой пример - надо удалить в строке все передаваемые символы во втором аргументе. С is_any_of почему то не получается. Как можно попроще решить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <boost/algorithm/string.hpp>
 
namespace ba = boost::algorithm;
 
int main()
{
   std::string str = "Hello world!";
   ba::erase_all(str, "elo"); //не работает, - удаляет только полное совпадение (типа "ello")
   ba::erase_all(str, ba::is_any_of("elo")); // ошибка
 
   std::cout << str << "\n";
 
   return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2014, 16:21
Ответы с готовыми решениями:

boost algorithm string
Пробую код ( Builder2009 ) #include &lt;iostream&gt; #include &lt;string&gt; #include...

Создать очередь, содержащую любые символы. Удалить из очереди все символы, не являющиеся буквами или цифрами
Используя динамические структуры, реализовать следующие задания. Вспомо*гательные функции должны...

Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или цифрами
Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или...

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

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
23.01.2014, 21:35 2
Вот так не подойдет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <boost/algorithm/string.hpp>
#include <boost/range/algorithm/remove_if.hpp>
 
int main()
{
   std::string str = "Hello world!";
   str.erase(boost::remove_if(str, boost::is_any_of("elo")), str.end());
   std::cout << str << "\n";
 
   return 0;
}
?
3
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.01.2014, 22:41  [ТС] 3
Я как то думал что в Boost String Algorithms Library будет готовое решение.
0
23.01.2014, 22:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2014, 22:41
Помогаю со студенческими работами здесь

Qt creator. Не удается добавить стороннюю библиотеку в проект cmake (добавление в проект boost/algorithm)
Собственно, весь вопрос в заголовке. Осваиваю cmake, не могу подключить &quot;алгоритм&quot; из буст. ...

В заданной строке повторить все буквы и удалить все другие символы
1) написать программу, которая в заданой строке повторяет все буквы и удаляет все другие символы.

Алгоритм Маркова. В слове P требуется удалить все вхождения символа b, а затем заменить все символы a на b
A={a,b,c}. В слове P требуется удалить все вхождения символа b, а затем заменить все символы a на b.

Удалить все символы, кроме латинских букв и цифр, а все большие лат. буквы сделать маленькими
всем привет, помогите исправить код программы. суть проги в том чтобы вводились множество символов...


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

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