C++ 大数据分析
#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; }