https://blog.csdn.net/rong11417/article/details/90203837
1.スプリット例えばに従ってとして指定された文字切り出し、;など、または「/」分割「」
QStringのSTR = "こんにちは、世界"
QStringListリスト= str.split( "");
QStringのA =リスト[0]。// A = "こんにちは"
QStringのB =リスト[1]。// B = "世界"
QStringのSTR2 = b.append();
STR2 = "worldhello"
2.半ば場所で割った値
パラメータは、文字列の末尾から取られる位置を示し
これは、文字列をとら2つの位置の間の2つのパラメータを表します。
QStringのSTR = "HelloWorldの"
QStringのA = str.mid(0,5)。
B = str.mid(5)QStringの。
QStringのSTR2 = b.append()。
STR2 = "worldhello"
QTを使用してQStringのクラス
関数のQStringクラスの役割。
文字列の連結機能。
1、また過負荷+と+ =演算子をQStringの。これらの演算子は、2つの文字列に接続することができます。
図2に示すように、追記()関数をQStringのは、例えば、同様の操作を提供します。
STR = "ユーザー:";
str.append(ユーザ名)。
str.append( "\ n"は);
第二に、文字列の位置の値を取得します。
//
QStringのは何の関数は、指定した2つの位置の間の文字列から取り出すことができませんか?
QStringのX =「ナインパイナップル」。
QStringのY = x.mid(5、4)。// Y == "松"
QStringのZ = x.mid(5)。// Z == "パイナップル"
1、中間()関数は、2つの引数を受け取り、最初は、第二は、文字列の長さを取ることで、開始位置です。二番目のパラメータが省略された場合、それは最後まで開始位置から取得されます。上記の例のように
2、関数(左)とRIGT()同様に、文字列が取得され、int型のパラメータを受け付けるN。ことを除いて、左n文字、右(左から採取した()関数は、)右側から見ました。以下の通りである)(左の例です。
1. QStringのX = "パイナップル"。
2. QStringのY = x.left(4)。// Y == "パイン"
第三に、文字の文字の位置にアクセスします。
indexOf()
//のlastIndexOfが(あり)関数は、文字列の最後に出現する位置のインデックスを返します?
X- = "スティッキー質問"をQStringの;
y軸= "STI"をQStringの;
x.indexOf(y軸); //戻りA 0
x.indexOf (Y ,. 1); //戻り値10
x.indexOf(Y、10); //戻り値10
x.indexOf(Y ,. 11); //戻り値-1
第四に、文字列は先頭または末尾に特定の配列を検出することはできません。
startsWith()endsWith()
IF(url.startsWith( "HTTP:"。 "PNG")&& url.endsWith())
{}
このコードは同等です
IF(url.left(5)== "HTTP:" && url.right(4)== ".pngを")
{}
第五に、
文字列置換機能)(置き換え;
TRIMMED()関数の空白文字列(ノート空白スペース、タブや改行を含む文字ではなくスペース)の両側に削除されます。
TOLOWER()およびTOUPPER()関数ます文字列に小文字の文字列に大文字;
;のremove()とインサート()関数は、挿入する機能と、削除文字列を提供し
、すべてが空白の連続文字列に置き換えてもよい簡体()関数、およびブランクの両端こうした「\トン」リターンスペースなどの文字を削除「」
第六に、Cスタイルの文字列とQStringの文字の種類の間のconstのchar *の変換。
この機能を達成するために簡単に説明すると、QStringの= A +:
+ = "(1870)" STR。
ここでは、我々はのconstのchar *文字列を入力します"(1870)、" QStringのタイプに変換。
あなたが明示的な変換が必要な場合は、QStringのキャスト操作や機能を使用することができる(fromAsciiを使用)などが挙げられます。
2つのステップを必要とする文字列、QByteArray型オブジェクトを取得するためにもしToASCII()を用いたもの、*タイプのQStringのconst char型に向けるために
、その後、(そのデータを呼び出す)またはconstData()関数、
例えば:
printf( "ユーザー:%S \ n" は、str.toAscii()データ())。
便宜上、QtがマクロqPrintableを(提供)、マクロは、例えば、もしToASCII()constData()と等価です。
printf( "ユーザー:%sの\ n"は、qPrintable(STR));
私たちは、クラスのデータ上記QByteArray()またはconstData()関数を呼び出してのconstのcharを取得* QByteArrayの種類の中の文字列、
それゆえ、我々はしないでくださいメモリリークやその他の問題を心配する必要性私たちはメモリを管理するために、Qtはなります。しかし、これはまた、我々は、慎重に、あまりにも長い間、ポインタを使用しないことを意味し
QByteArrayが削除された場合、そのポインタは、フィールドガイドになりますので。QByteArrayこのオブジェクトは、変数に配置されていない場合は
、ステートメントの終わり、QbyteArrayオブジェクトはポインタを削除し、削除されますがなるときに。
文字列変換関数の七つの他のタイプ。
オーバーライド:()は、トランスフェ整数
toDouble()二重トランスフェクトされた
ロングオン)(toLongを
変換機能をtrueまたはfalseに設定されているかどうかに基づいて成功した後、パラメータとしてポインタを受け入れるBOOLこれらの機能を:
OK BOOL;
ダブルD = str.toDouble(&OK)。
もし(OK)
{
//何かをする...
}他{
//何かをします...
}
整数回転列:
1、静的関数の数を()を使用してデジタル列に変換することができます。例えば:
QStringのQStringのは:: =番号STR(54.3);
2は、同じ目的を達成するために)(非静的関数setNumを使用することができる:
QStringのSTRを、
str.setNum(54.3)。
八、QStringのはのsprintf()関数は、C言語のprintf関数と同じ機能が達成される提供します。
1. str.sprintf( "%sの%.1f %%"、 "完全競争"、100.0);
このコード出力:100.0%完全競争
2、別のフォーマット文字列引数関数出力():
STR = QStringの( "%1% 2(%3S-%4S)")のarg( "許容性")引数( "社会")のarg(1950).arg(1970)...。
{
STRをQStringの。 STR = "%1%2"。 str.arg( "%の1F"、 "こんにちは"); //戻り"%こんにちは1F" str.arg( "%の1F")引数( "こんにちは")。//戻り"Hellof%2"
}
このコードでは、1%、2%、3%、4%、プレースホルダとして、後のArg()関数となるように順次例えば1%のように、コンテンツを交換する許容に置換される、
%2が置換されます1970社会は、%3 1950が交換され、4%に置き換えられた、そして最終的に、
このコードは出力:.許容社会(1950-1970である )のarg() のsprintfより機能()、型安全であると
しながらまた、パラメータとして、データタイプの様々な受け入れ、それのArg()関数ではなく、従来のsprintf()を使用することが推奨されます。
ナインは、文字列の長さ、戻り値の型のINTを見つけます。
長さ()。
テンは、どのように正しく中国語の文字を表示します
QTに基づいて文字セットはロケール環境変数を作った場合は、次のコマンドを使用することができます。
QStringの:: fromLocal8Bit(「こんにちは、世界!」);
QStringのfromLocal8Bit()関数を使用して、
QStringのSTR、
STR = str.fromLocal8Bit( "HA")。