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

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

09.06.2021, 10:37. Показов 3273. Ответов 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
4211 / 2668 / 655
Регистрация: 23.09.2014
Сообщений: 9,083
Записей в блоге: 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
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
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
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru