Хорошо, поэтому, когда вы говорите два символа, я предполагаю, что вы имеете в виду разделители. В этом случае вам нужно будет использовать String.find(), чтобы найти положение разделителей. После нахождения позиций разделителей вы можете использовать String.substr (index1, index2-index1) для возврата подстроки.
Пример:
#include <iostream>
#include <string>
int main()
{
std::size_t index1,index2;
std::string myString = "sdfgkjr$joeisawesome$sdfeids";
std::string sub= "";
index1 = myString.find('$');
//string::npos is -1 if you are unaware
if(index1!=std::string::npos&& index1<myString.length()-1)
index2=myString.find('$',index1+1);
if(index2!=std::string::npos)
{
sub = myString.substr(index1+1,index2-index1);
}
std::cout<<sub; //outputs joeisawesome
}
Может быть с помощью [ 'find'] (http://en.cppreference.com/w/cpp/string/basic_string/find)? –
Возможный дубликат [Как найти подстроку из строки?] (Http://stackoverflow.com/questions/13195353/how-to-find-substring-from-string) – PoX
Вы хотите, чтобы решение было само по себе, или вы пытаетесь улучшить свои навыки? Вы предпочли бы использовать 'find' и получить ответ или написать свою собственную функцию в качестве упражнения? – Beta