web-dev-qa-db-ja.com

Qt。 QStringの一部を取得する

必要なインデックスがわかっているときに、別のQStringからQStringを取得したい。例:メイン文字列: "これは文字列です"。最初の5つのシンボルから新しいQStringを作成し、 "This"を取得したい。
入力:最初と最後の文字番号。
出力: new QString

作成方法

P.S。最初の数文字だけでなく、行の途中から、たとえば5から8まで。

63
AlekseyS

サブストリングを変更する必要がない場合は、QStringRefを使用できます。 QStringRefクラスは、既存のQStringの読み取り専用ラッパーであり、既存の文字列内のサブストリングを参照します。これにより、サブストリングを含む新しいQStringオブジェクトを作成するよりもはるかに優れたパフォーマンスが得られます。例えば。

QString myString("This is a string");
QStringRef subString(&myString, 5, 2); // subString contains "is"

サブストリングを変更する必要がある場合、left()mid()、およびright()は必要なことを行います...

QString myString("This is a string");
QString subString = myString.mid(5,2); // subString contains "is"
subString.append("n't"); // subString contains "isn't"
100
Alan

left関数を使用します。

QString yourString = "This is a string";
QString leftSide = yourString.left(5);
qDebug() << leftSide; // output "This "

さらに制御したい場合は、mid()もご覧ください。

44
laurent