Поиск std :: string - PullRequest
       4

Поиск std :: string

0 голосов
/ 21 июня 2010

Я ищу поиск строки, например:

std::string str = "_Data_End__Begin_Data_End";
                  |_________| |_____________|
                      data        data
                    section1     section2

Если я ищу "Начать" в str, я хочу убедиться, что она выглядит в "data section2«если бы он не был найден в« data section1 »

, если бы я знал длину« data section1 », было бы возможно?

Ответы [ 2 ]

2 голосов
/ 21 июня 2010

Следующий код ищет строку «Begin».

std::string::size_type loc = str.find("Begin");
if(loc != std::string::npos)
{
    std::cout << "found \"Begin\" at position " << loc << std::endl;
}

А так как раздел данных 2 находится в конце раздела данных 1 (а find () начинает поиск с позиции 0), вам больше не нужен код.

2 голосов
/ 21 июня 2010

std::string::find() имеет необязательный аргумент, чтобы указать, с чего начать поиск:

str.find("Begin", length_of_data_section1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...