Я использую QString::remove(QString)
для удаления определенной строки из строки, но есть небольшая проблема: удаленная строка на самом деле не удаляется, вместо этого она заменяется пустой строкой. Я хочу полностью удалить всю строку.
Исходная строка:
...
Hi there,
Alaa Joseph is here!
The above line is going to be removed :P
It's the magic of C++ :]
...
Вот что я пробовал:
test1 = originalString.replace("Alaa Joseph is here!", "");
test2 = originalString.remove("Alaa Joseph is here!"); // Same result as the previous
Вывод:
...
Hi there,
The above line is going to be removed :P
It's the magic of C++ :]
...
Как вы видите выше, он удалил текст без удаления всей строки!
Мне нужно, чтобы вывод был таким:
...
Hi there,
The above line is going to be removed :P
It's the magic of C++ :]
...
Я знаю, что могу просто перебрать каждую строку и сделать это:
QStringList list = test1.split("\n");
list.removeAt(0);
int n = list.length();
list.removeAt(n - 1);
QString noEmptyLines = list.join("\n");
Но я не хочу удалять все пустые строки, а только те, содержимое которых я удалил, так как это испортит весь формат моего документа.