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;
 }

  

  

posted @ 2022-10-02 10:02  王一行  阅读(68)  评论(0编辑  收藏  举报