Удалить пустую строку в большой строке

Я хотел бы удалить пустую строку в большую строку (не файл).
Это строка:

The unique begin of a line in my string, after that a content same endlineThe unique begin of a line in my string, after that a content same endline
The unique begin of a line in my string, after that a content same endline

Вот как это выглядит в блокноте ++:

Блокнот

0

Решение

Используйте регулярное выражение. Следующая ссылка на ссылка на регулярное выражение должен начать вас. Или еще лучше regex_replace.

Ваше регулярное выражение будет выглядеть так

/\n\s*\n/

Для тестов регулярных выражений может быть полезным онлайн тестер регулярных выражений.

#include <iostream>
#include <string>
#include <regex>

int main ()
{
std::string s ("there is a line \n    \nanother line\n   \nand last one in the string\n");
std::regex e ("\\n\\s*\\n");
std::cout << std::regex_replace (s,e,"\n");
return 0;
}
3

Другие решения

Решение :

string myString = "The string which contains double \r\n \r\n so it will be removed with this algorithm.";
int myIndex = 0;
while (myIndex < myString.length()) {
if (myString[myIndex] == '\n') {
myIndex++;
while (myIndex < myString.length() && (myString[myIndex] == ' ' || myString[myIndex] == '\t' || myString[myIndex] == '\r' || myString[myIndex] == '\n')) {
myString.erase(myIndex, 1);
}
} else {
myIndex++;
}
}
0