C ++:从两个符号之间提取字符串

时间:2016-03-23 14:43:58

标签: c++ string search

我有字符串     String str ="我的年龄是多大了?你多大了?&#34 ;;

我想提取字符串"你多大了#34;并将其放在另一个变量中。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用substring方法: http://www.cplusplus.com/reference/string/string/substr/

int first = str.find('?')
String ageStr = str.substr(first, str.find('?', first) - first);

这样你就可以选择第一个问号的位置和第二个问号的位置之间的字符串部分......

答案 1 :(得分:0)

#include <string>
#include <iostream>
using namespace std;
string  GetStringInBetween(string Src,string FirstTag, string Secondag)
{
    size_t FirstPos,SecondPos;
    string newstr="";
    FirstPos = Src.find(FirstTag);
    if (FirstPos != string::npos)
    {
        FirstPos++;
        SecondPos = Src.find(Secondag, FirstPos );
        if (SecondPos != string::npos)
        {
            newstr = Src.substr(FirstPos , SecondPos - FirstPos);
        }
    }
    return newstr;
}
int main()
{

    string str = "?how old are you?";
    string nstr = GetStringInBetween(str, "?", "?");
    cout << nstr;
    return 0;
}

答案 2 :(得分:0)

for(int i=0;i<strlen(str);i++)
{
    if(str[i] != '?')
    {
        cout<<str[i];
    }
}

您可以添加您选择的任何符号来代替?