10

これを含むQStringがあると想像してください:

"#### some random text ### other info
a line break ## something else"

QString に含まれるハッシュの数を確認するにはどうすればよいですか? つまり、この文字列から数字の 9 を取得するにはどうすればよいでしょうか?


答え

回答のおかげで、ソリューションは非常に単純で、count() メソッドを使用したドキュメントでは、カウントしているものを引数として渡すことができることを見落としていました。

4

2 に答える 2

12

このメソッドを使用して、#文字を渡すことができます。

#include <QString>
#include <QDebug>

int main()
{
    // Replace the QStringLiteral macro with QLatin1String if you are using Qt 4.

    QString myString = QStringLiteral("#### some random text ### other info\n \
                                       a line break ## something else");
    qDebug() << myString.count(QLatin1Char('#'));
    return 0;
}

次に、たとえば gcc を使用すると、次のコマンドまたは同様のコマンドを実行して結果を確認できます。

g++ -I/usr/include/qt -I/usr/include/qt/QtCore -lQt5Core -fPIC main109.cpp && ./a.out

出力は次のようになります。9

ご覧のとおり、Qt の便利なメソッドが internal を使用して既にそれを行っているため、自分自身を反復する必要はありませんqt_string_count

于 2013-08-31T11:06:49.717 に答える