参考了https://blog.csdn.net/qq_32925781/article/details/79377073 本来想用strtok 不是很好用
#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
using namespace std;
int main(){
ifstream file("text.txt");
if(!file){
cerr<<"File cannot be found!"<<endl;
exit(1);
}
string s;
while(file>>s){
string area=s.substr(s.find("(")+1,s.find(")")-s.find("(")-1);
s.erase(s.find("("),s.find(")")-s.find("(")+1);
string num=s.substr(s.find("(")+1,s.find(")")-s.find("(")-1);
s.erase(s.find("("),s.find(")")-s.find("(")+1);
string city=s.substr(s.find("|")+1,s.rfind("|")-s.find("|")-1);
s.erase(s.find("|"),s.rfind("|")-s.find("|")+1);
string mail=s.substr(s.find("(")+1,s.find(")")-s.find("(")-1);
s.erase(s.find("("),s.find(")")-s.find("(")+1);
cout<<area<<"|"<<num<<"|"<<city<<"|"<<mail<<endl;
}
return 0;
}