Функция C++ для удаления подстроки из строки и ее сохранения

Вот пример функции C++, которая принимает входную строку, удаляет из нее указанную подстроку и сохраняет удаленную подстроку:

#include <iostream>
#include <string>
std::string deleteAndSaveSubstring(std::string& input, const std::string& substring) {
    std::string deletedSubstring;
    size_t pos = input.find(substring);
    if (pos != std::string::npos) {
        deletedSubstring = input.substr(pos, substring.length());
        input.erase(pos, substring.length());
    }
    return deletedSubstring;
}
int main() {
    std::string inputString = "Hello, World! This is a test.";
    std::string substringToDelete = "World";
    std::string deletedSubstring = deleteAndSaveSubstring(inputString, substringToDelete);
    std::cout << "Deleted Substring: " << deletedSubstring << std::endl;
    std::cout << "Modified String: " << inputString << std::endl;
    return 0;
}

Эта функция deleteAndSaveSubstringпринимает два параметра: строку input(исходную строку) и строку substring(подстроку, которую нужно удалить).. Он ищет подстроку во входной строке, используя функцию find. Если подстрока найдена, она сохраняет удаленную подстроку в переменной deletedSubstringс помощью функции substrи удаляет подстроку из входной строки с помощью eraseфункция.

В приведенном примере входная строка — «Привет, мир! Это тест». и удаляемая подстрока — «Мир». Функция удалит подстроку и сохранит ее в переменной deletedSubstring. Результат будет:

Deleted Substring: World
Modified String: Hello, ! This is a test.

Это лишь одна из возможных реализаций. Существуют и другие методы достижения того же результата, например использование функции replaceили использование функций манипуляции со строками, таких как strcpyи strcat.