У меня есть строка String str = "мой возраст, сколько мне лет, сколько вам лет?";C++: извлечение строки из двух символов
И я хочу извлечь только строку «сколько вам лет» и поместить ее в другую переменную.
Как это сделать?
У меня есть строка String str = "мой возраст, сколько мне лет, сколько вам лет?";C++: извлечение строки из двух символов
И я хочу извлечь только строку «сколько вам лет» и поместить ее в другую переменную.
Как это сделать?
Вы можете использовать метод подстроки: 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];
}
}
Вы можете добавить любой символ вашего выбора вместо ?
.
Вы должны больше объяснить, что делает этот код. – Aaronepower
Возможный дубликат [Как получить часть строки на C++?] (Http://stackoverflow.com/questions/2498119/how-do-i-get-a-part-of-the- a-string-in-c) –
'str.Substring (0, str.Length - 2)'? – CompuChip