问题
I have something like this:
void ReadFileAndConvert ()
{
QFile File (Directory + "/here/we/go");
if(File.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream Stream (&File);
QString Text;
do
{
Text = Stream.readLine();
Text = Text.simplified();
// Here I want to convert the multiline QString Text into a oneline QString
// ...
}
The QString Text consists of a multiline Text that I need to convert into a online Text/QString. How can I achieve this? greetings
回答1:
Put your text into a QStringList, and use QStringList::join(), e.g.
QStringList doc;
[...]
Text = Stream.readLine();
Text = Text.simplified();
doc << Text;
[...]
QString final = doc.join(" ");
回答2:
You could use the readAll function of QTextStream in order to get a string containing all your text and then use the replace function of QString in order to remove new lines:
QString oneLineText = Stream.readAll().replace("\n"," ").simplified();
If you have a large file it is better to use the readLine function.
来源:https://stackoverflow.com/questions/9666788/convert-a-multiline-qstring-into-a-one-line-qstring