【问题标题】:Convert a multiline QString into a one line QString将多行 QString 转换为单行 QString
【发布时间】:2012-03-12 12:13:03
【问题描述】:

我有这样的事情:

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

// ...
}

QString 文本由一个多行文本组成,我需要将其转换为在线文本/QString。我怎样才能做到这一点?问候

【问题讨论】:

    标签: c++ qt qstring


    【解决方案1】:

    将您的文本放入QStringList,并使用QStringList::join(),例如

    QStringList doc;
    [...]
    Text = Stream.readLine();
    Text = Text.simplified();
    doc << Text;
    [...]
    QString final = doc.join(" ");
    

    【讨论】:

      【解决方案2】:

      您可以使用QTextStreamreadAll 函数来获取包含所有文本的字符串,然后使用QStringreplace 函数来删除新行:

      QString oneLineText = Stream.readAll().replace("\n"," ").simplified();
      

      如果您有一个大文件,最好使用readLine 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-30
        • 2019-12-23
        • 2011-08-21
        • 2012-04-01
        • 1970-01-01
        相关资源
        最近更新 更多