#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
bool findName(int subindex,string substring,string *name){
subindex = substring.find("我叫");
//cout<<subindex<<endl;
//判断是否从 “我叫李宇博” 子字符串中找到 “我叫 ” 关键字
if(subindex>=0 && subindex<=substring.size()){
*name = substring.substr(subindex+4);
return true;
}
return false;
}
bool findAge(int subindex,string substring,string *age){
subindex = substring.find("我今年");
//cout<<subindex<<endl;
//判断是否从 “我今年13岁” 子字符串中找到 “我今年 ” 关键字
if(subindex>=0 && subindex<=substring.size()){
*age = substring.substr(subindex+6);
return true;
}
return false;
}
bool findJia(int subindex,string substring,string *jia){
subindex=substring.find("我住在");
//cout<<subindex<<endl;
//判断是否从 “我住在江南印象” 子字符串中找到 “我住在 ” 关键字
if(subindex>=0 && subindex<=substring.size()){
*jia = substring.substr(subindex+6);
return true;
}
return false;
}
bool findXing(int subindex,string substring,string *xing){
subindex = substring.find("我是");
//cout<<subindex<<endl;
//判断是否从 “我是男生” 子字符串中找到 “我是 ” 关键字
if(subindex>=0 && subindex<=substring.size()){
*xing = substring.substr(subindex+6);
return true;
}
return false;
}
int main() {
string data = "我叫王一行,我今年10岁,我住在江南印象,我是男生,"
"我喜欢做打篮球,我的学校是实验小学,我的生日是2月2号,"
"我的语文成绩是:100分,我的数学成绩是:100分,我今天做了核酸检测,"
"我想去北京旅游,我中午想吃饭,我晚上想吃饭,我明天想吃饭";
//cout<<data<<endl;
//姓名
string name;
//年龄
string age;
//家庭住址
string jia;
//性别
string xing;
//1. 按照 , 进行分割
//cout<<data.find(",")<<endl;
//子字符串
string substring;
//子字符串的位置
int subindex;
//从整体的数据源里找到子字符串“我叫李宇博”
substring = data.substr(0,data.find(","));
//cout<<substring<<endl;
int changdu = substring.size();
if(findName(subindex,substring,&name)){
//是否 是姓名的数据
cout<<"姓名:"<<name<<endl;
}
substring = data.substr(data.find(",")+1,data.find(","));
changdu += substring.size();
if(findAge(subindex,substring,&age)){
cout<<"年龄:"<<age<<endl;
}
substring = data.substr(changdu+2,changdu-6);
changdu += substring.size();
//cout<<substring;
if(findJia(subindex,substring,&jia)){
cout<<"家庭住址:"<<jia<<endl;
}
substring = data.substr(changdu,changdu-12);
if(findXing(subindex,substring,&xing)){
cout<<"性别:"<<xing<<endl;
}
return 0;
}