Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 04.11.2018
Сообщений: 9

Замена подстроки в строке типа string

09.06.2021, 10:37. Показов 3165. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработайте функцию
std::string FindAndReplace(std::string const& subject, std::string const& search,
std::string const& replace),
возвращающую результат замены всех вхождений подстроки search в строке subject на
строку replace. В случае, если искомая строка пустая, замены строк производиться не
должно.
Разработайте на ее основе программу, заменяющую все вхождения искомой строки в
стандартном потоке ввода на строку-заменитель и выводящую результат в стандартный
поток вывода.
Синтаксис командной строки:
replace.exe <search-string> <replace-string>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2021, 10:37
Ответы с готовыми решениями:

Замена подстроки в строке с неизвестными символами в строке
Пример: есть строка: s=&quot;Делаешь, уешь, гниешь, ешь&quot; Нужно заменить окончание ешь на ю то-есть: Делаю, ую, гнию. но просто...

Замена подстроки в строке
здесь у меня такая проблема возникла мне нужно заменить все &quot;were&quot; на &quot;are&quot; но &quot;are&quot; меньше на 1 символ я незнаю как его можно заменить...

Замена подстроки в строке
Добрый день. Есть строка $str=&quot;%str1 %str1 %str2 %str4 %str4 %str3 %str2&quot;; В ней необходимо каждые слова заменять на num0, num1,...

5
0 / 0 / 0
Регистрация: 04.11.2018
Сообщений: 9
09.06.2021, 10:40  [ТС]
Разработайте функцию
std::string FindAndReplace(std::string const& subject, std::string const& search,
std::string const& replace),
возвращающую результат замены всех вхождений подстроки search в строке subject на
строку replace. В случае, если искомая строка пустая, замены строк производиться не
должно.
Разработайте на ее основе программу, заменяющую все вхождения искомой строки в
стандартном потоке ввода на строку-заменитель и выводящую результат в стандартный
поток вывода.
Синтаксис командной строки:
replace.exe <search-string> <replace-string>
0
Just Do It!
 Аватар для XLAT
4188 / 2642 / 654
Регистрация: 23.09.2014
Сообщений: 8,846
Записей в блоге: 3
09.06.2021, 14:05
Цитата Сообщение от rymantsev Посмотреть сообщение
возвращающую результат замены всех вхождений подстроки search в строке subject на
строку replace
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
28
29
#include <fstream>
#include <iostream>
#include <string>
 
std::string FindAndReplace( std::string const& subject,
                            std::string const& search ,
                            std::string const& replace)
{   if(search.empty()) return subject;
    std::string r;
    size_t b = 0, e;
    for(; (e = subject.find(search, b)) != std::string::npos;)
    {   r += subject.substr(b, e - b);
        r += replace;
        b = e + search.size();
    }
    return r + subject.substr(b, subject.size() - b);
}
 
int main()
{
    setlocale(0, "");
    std::string subject = "Разработайте на ее основе программу, "
                          "заменяющую все вхождения искомой строки.\n";
 
    std::cout << subject << FindAndReplace(subject, "ро", "РО");
 
    std::cin.get();
    return 0;
}
0
124 / 44 / 15
Регистрация: 01.11.2020
Сообщений: 122
09.06.2021, 15:25
rymantsev, разработал и дальше то что ?
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,234
09.06.2021, 17:11
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
#include <iostream>
#include <string>
std::string FindAndReplace(std::string const& subject, std::string const& search,
    std::string const& replace)
{
    std::string result;
    size_t f=subject.find(search);
    if(f!=std::string::npos)
    {
        for(size_t i=0;i<f;i++)
            result+=subject[i];
        for(size_t i=0;i<replace.size();i++)
            result+=replace[i];
        f+=search.size();
        for(;f<subject.size();++f)
            result+=subject[f];
    }
    return result;
}
int main()
{
    std::string a="12345678",b="345",c="abcde";
    std::cout<<FindAndReplace(a,b,c);
    std::cin.get();
    return 0;
}
0
0 / 0 / 0
Регистрация: 04.11.2018
Сообщений: 9
16.06.2021, 10:52  [ТС]
zss, у вас изменяет только первый элемент, а последующие нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2021, 10:52
Помогаю со студенческими работами здесь

Замена подстроки в строке
Так как не нашел алгоритм стемминга для C++, то пришлось что-то придумывать самому. Так вот есть такой код int i; for(i = 0; i &lt;...

Замена подстроки в строке
Доброго. Имеется задача на строки. Переменная S-это строка,имеющая значение &quot;ааааа&quot;. Необходимо все &quot;а&quot; в этой...

Замена подстроки в строке
Приветствую! Имеется код, который работает set str1=У змеи кожа как у кожа крокодила echo.%str1% set str1=%str1:кожа =нечто %...

Замена подстроки в строке
Не понимаю почему не работает, помогите пожалуйста. import random import math import string def Change_string(string): ...

Замена подстроки в строке
строке имеются названия тригонометрических функций (sin, cos,tg,ctg). Нужно составить программу, которая заменяет эти названия на русский...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru