Удалите ненужные пробелы, но между значениями - PullRequest
0 голосов
/ 11 октября 2019
Input -> Miguel de Cervantes,     Don Quixote,     Spain,    9.99,    1612,   The story follows a Hidalgo, Alonso Quixano, who proves that chivalry will in fact never die.

Вопрос

  • Как убрать пробелы между значениями, но не внутри них?
  • Пример вывода: Miguel de Cervantes,Don Quixote,Spain,.99,1612,The story follows a Hidalgo,Alonso Quixano,who proves that chivalry will in fact never die.

Спасибо

1 Ответ

0 голосов
/ 11 октября 2019
#include <iostream>
#include <iterator>
#include <regex>
#include <string>

int main()
{
   std::string text = "Miguel de Cervantes,     Don Quixote,     Spain,    9.99,    1612,   The story follows a Hidalgo, Alonso Quixano, who proves that chivalry will in fact never die.";
   std::regex vowel_re(",\\s+");
   std::cout << '\n' << std::regex_replace(text, vowel_re, ",") << '\n';
}

Output

Miguel de Cervantes,Don Quixote,Spain,9.99,1612,The story follows a Hidalgo,Alonso Quixano,who proves that chivalry will in fact never die.

Регулярное выражение, которое я использовал, было ,\\s+ то есть запятая, за которой следуют многие пробелы.

Note: Thank you! Because of you i wrote C++ after 5 years!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...