我应该如何在c ++中的两个字符中查找字符串?

时间:2016-01-16 02:10:06

标签: c++ string search find output

你好我一直试图找到一种在两个字符内找到一串字符的方法。我该如何在c ++中这样做?

sdfgkjr$joeisawesome$sdfeids -> joeisawesome

编辑:另一个答案是查找字符串中是否存在字符串。我正在寻找两个字符内的字符串并在两个字符中输出刺痛。感谢您查看PoX。

1 个答案:

答案 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
}