расщепление этой строки с помощью повышения или регулярного выражения - PullRequest
0 голосов
/ 12 марта 2019

Я новичок в C ++ и изо всех сил пытаюсь разбить эту строку.Нужно создать мультикарту, в которой ключом является книга.Существительное и определение после "- = >>" будут парой, как и глагол и его определение.Вот строки, которые я не могу разделить правильно:

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

Это код, который я пытаюсь.Я понял, что этот код неправильно загружает мультикарту, потому что когда я печатаю части [0], оба имени помещаются в один и тот же индекс.Кажется, регулярное выражение - более простое решение, но после того, как я остановился на этом в течение последних нескольких часов, мне нужна помощь.

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

Любое руководство или отзыв очень ценится

1 Ответ

0 голосов
/ 12 марта 2019

Сначала разделите вашу линию на |.Первая полученная часть - ваше имя .Затем пройдитесь по всем остальным получившимся частям и разделите их на половины на -=>>.Это даст вам первую ( partOfSpeech ) и вторую ( определение ) половинки ваших пар.

...