我需要解析存储在变量中的以下内容,并仅提取名称。这些名称应放在一个新变量中(全部由点(。)分隔)。有什么想法吗?
Name : Mike Anderson\n
Age : 43\n
Name : Andie Jameson\n
Age : 35\n
预期输出应为内容为Mike Anderson.Andie Jameson
谢谢。
答案 0 :(得分:0)
您的情况会有很多有用的方法。
这段代码只是其中之一。我使用了std::istringstream
,string::find()
。
int main()
{
//Originally, each data is from your source.
//but, this is just sample.
std::istringstream input;
input.str("Name : Mike Anderson\nAge : 43\nName : Andie Jameson\nAge : 35\n");
//to find pattern
std::string name_pattern = "Name : ";
std::size_t found = std::string::npos;
for (std::string line; std::getline(input, line); ) {
found = line.find(name_pattern);
if (found!=std::string::npos)
{
//write on file for 'directory'
std::string only_name(line, found + name_pattern.length() );
std::cout << "\nName : " << only_name;
continue;
}
}
getchar();
}
此代码将在下面打印,如