Задача: Строки, заменить одного слово на другое

Тема в разделе "C/C++/C#", создана пользователем Mauricio, 9 янв 2011.

  1. Mauricio

    Mauricio Гость

    Тема: Строки и операции над ними. Использование функций обработки текстовых строк.
    В заданном тексте везде заменить слово А1 на слово А2 (длины слов в общем случае не совпадают).
    Вот такая вот задачка помогите пожалуйста решить
     
  2. Rififi

    Rififi Гость

    В заданном тексте везде заменить слово А1 на слово А2 (длины слов в общем случае не совпадают).

    вариант попроще (не учитывается что A1 - это слово, меняется кусок текста)

    Код (C++):
    #include <string>
    #include <iostream>
    #include <algorithm>
    void replace(std::string text, const std::string& from, const std::string& to)
    {
    for (size_t i = 0; (i = text.find(from, i)) != std::string::npos; i += to.length())
    text.replace(i, from.length(), to);

    std::cout << text << std::endl;
    }
    вариант посложнее (заменяются только раздельные слова)

    Код (C++):
    #include <string>
    #include <iostream>

    #include <boost/xpressive/xpressive.hpp>
    namespace xpr = boost::xpressive;
    using xpr::_b;
    void replace(std::string text, const std::string& from, const std::string& to)
    {
    const xpr::sregex rx = _b >> from >> _b;   
    std::cout << xpr::regex_replace(text, rx, to) << std::endl;
    }
    использование:

    Код (C++):
    #include <locale>

    ...

    int main()
    {
    setlocale(LC_ALL, "");

    const std::string text =
    "I wanted to live the life, a different life. "
    "I didn't want to go to the same place every day and see the same people and do the same job. "
    "I wanted interesting challenges.";

    replace(text, "want", "wish");

    return 0;
    }
    в первом варианте:

    I wished to live the life, a different life. I didn't wish to go to the same place every day and see the same people and do the same job. I wished interesting challenges.

    во втором варианте:

    I wanted to live the life, a different life. I didn't wish to go to the same place every day and see the same people and do the same job. I wanted interesting challenges.
     
  3. Mauricio

    Mauricio Гость

    Спасибо
     
Загрузка...
Похожие Темы - Задача Строки заменить
  1. Shonny
    Ответов:
    0
    Просмотров:
    1.232
  2. Янчик
    Ответов:
    0
    Просмотров:
    486
  3. TrishaRay
    Ответов:
    1
    Просмотров:
    782
  4. elzim
    Ответов:
    0
    Просмотров:
    930
  5. ShaoKahn
    Ответов:
    1
    Просмотров:
    1.124

Поделиться этой страницей