使用boost或regex分割这条线

时间:2019-03-12 06:27:50

标签: c++ boost split

我是C ++的新手,我正努力将其拆分。希望创建一个以书为关键的多重地图。名词和“-= >>”后面的定义将是一对,动词及其定义也将是一对。这是我似乎无法正确拆分的字符串:

book|noun -=>> A set of pages.|verb -=>> To arrange something on a particular date.
bookable|adjective -=>> Can be ordered.

这是我正在尝试的代码。我发现此代码无法正确加载多图,因为当我打印part [0]时,两个名称都放在了相同的索引中。 regex似乎是一个更简单的解决方案,但是在最后几个小时解决了这个问题后,我需要一些帮助。

while (getline(myfile, line)) {
   string delimiters("|-=>>.");

   vector<string> parts;
   boost::split(parts, line, boost::is_any_of(delimiters));

   name = parts[0];
   partOfSpeech = parts[1];
   definition = parts[2];

   dictionary.emplace(make_pair(name, make_pair(partOfSpeech, definition)));
}

非常感谢任何指导或反馈

0 个答案:

没有答案