【发布时间】:2016-03-23 14:43:57
【问题描述】:
我有字符串 String str = "我的年龄是我几岁?你几岁?";
我想只提取字符串“你多大了”并将其放在另一个变量中。
我该怎么做?
【问题讨论】:
-
str.Substring( 0, str.Length - 2 )?
我有字符串 String str = "我的年龄是我几岁?你几岁?";
我想只提取字符串“你多大了”并将其放在另一个变量中。
我该怎么做?
【问题讨论】:
str.Substring( 0, str.Length - 2 )?
你可以使用 substring 方法: http://www.cplusplus.com/reference/string/string/substr/
int first = str.find('?')
String ageStr = str.substr(first, str.find('?', first) - first);
这样你选择第一个问号位置和第二个问号位置之间的字符串部分...
【讨论】:
#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;
}
【讨论】:
for(int i=0;i<strlen(str);i++)
{
if(str[i] != '?')
{
cout<<str[i];
}
}
您可以添加您选择的任何符号来代替?。
【讨论】: