你好我一直试图找到一种在两个字符内找到一串字符的方法。我该如何在c ++中这样做?
sdfgkjr$joeisawesome$sdfeids -> joeisawesome
编辑:另一个答案是查找字符串中是否存在字符串。我正在寻找两个字符内的字符串并在两个字符中输出刺痛。感谢您查看PoX。
答案 0 :(得分:1)
好的,所以当你说两个字符时,我假设你指的是分隔符。在这种情况下,您必须使用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
}