Как эффективно удалить двойные цитаты из std :: string, если они существуют

Этот вопрос рискует быть дублирующимся E.G. Удалить двойные цитаты из строки в C ++ Но ни один из аснверров, которые я видел обращаться к моим вопросам
У меня есть список строк, некоторые из которых двойные цитируемые, а некоторые нет, цитаты всегда в начале и заканчиваются

std::vector words = boost::assign::list_of("words")( "\"some\"")( "of which")( "\"might\"")("be quoted");

Я ищу наиболее эффективный способ удалить цитаты. Вот моя попытка

for(std::vector::iterator pos = words.begin(); pos != words.end(); ++pos)
{
  boost::algorithm::replace_first(*pos, "\"", "");
  boost::algorithm::replace_last(*pos, "\"", "");
  cout << *pos << endl;
}

Могу ли я сделать лучше, чем это? У меня потенциально сотни тысяч строки для обработки. Они могут прийти из файла или из базы данных. STD :: Vector в примере просто для иллюстрации.

11
задан Community 23 May 2017 в 11:46
поделиться