QString 文字列クラスの詳細な説明

QString 文字列クラスは 16 ビットの Unicode 値を保存し、操作、クエリ、変換などの豊富な機能を提供します

1. 文字列の操作

文字列には次の演算子があります

  • 「+」は文字列を結合するために使用され、「+=」は文字列を追加するために使用されます
QString str1 = "Hello ";
str1 = str1 + "World!";		//str1 = "Hello World!"
QString str2 = "Hello ";
str2 += "World!"			//str2 = "Hello World!"
  • QString::append() は、文字列の末尾に文字列を追加するために使用されます
QString str1 = "Hello ";
QString str2 = "World!";
str1.append(str2);			//str1 = "Hello World!"
str1.append("Andyxi!");		//str1 = "Hello Andyxi!"
  • QString::sprintf() を使用して文字列を結合することもできます
QString str;
str.sprintf("s%", "Hello ");		//str = "Hello "
str.sprintf("s%", "World!");		//str = "World!"
str.sprintf("s% s%", "Hello ", "World!");	//str = "Hello World!"
  • その他の文字列結合方法:
QString::insert()		//特定位置插入另一字符串
QString::prepend()		//在原字符串开头插入另一字符串
QString::replace()		//用指定字符串代替原字符串的某些字符
QString::trimmed()		//移除字符串两端的空白字符
QString::simplified()	//移除字符串两端的空白字符,并使用单个空格字符代替字符串中的空白字符

2. 文字列データのクエリ

クエリ文字列にも複数の方法があります

  • QString::startsWith() 関数は、文字列が特定の文字列で始まるかどうかを判断します. この関数には 2 つのパラメーターがあります. 最初のパラメーターは文字列を指定し、2 番目のパラメーターは大文字と小文字を区別するかどうかを指定します。
QString str = "Hello My World";
str.startsWith("Hello", Qt::CaseSensitive);		//返回true
str.startsWith("World", Qt::CaseSensitive);		//返回false
  • QString::endsWith() 関数は、文字列が特定の文字列で終わるかどうかを判断します。パラメーターは上記と同様です。
QString str = "Hello My World";
str.endsWith("Hello", Qt::CaseSensitive);		//返回false
str.endsWith("World", Qt::CaseSensitive);		//返回true
  • QString::contains() 関数は、指定された文字列が出現したかどうかを判断し、パラメータは上記と同様です
QString str = "Hello My World";
str.contains("My", Qt::CaseSensitive);			//返回true
  • 2 つの文字列を比較するには、"<" "<=" "==" ">=" などの演算子を直接使用できます。
operator >= (const QString&);
  • localeAwareCompare() 静的関数、前後の 2 つの文字列を比較
localeAwareCompare(const QString&, const QString&);
  • compare() 関数は、大文字と小文字を比較するかどうかを指定できます
compare(const QString&, const QString&, Qt::CaseSensitivity);

3.文字列変換

QString クラスは、文字列を数値型または他の型の文字エンコーディング セットに変換できる豊富な変換関数を提供します。

  • QString::toInt() 関数は文字列を整数値に変換します. この関数には 2 つのパラメータがあります. 最初のパラメータは bool 型のポインタで、変換ステータスを返すために使用されます; 2 番目のパラメータは変換のベースを指定します
QString str = "125";
bool ok;
int hex = str.toInt(&ok, 16);	//ok = true, hex = 293
int dec = str.toInt(&ok, 10);	//ok = true, dec = 125
int aaa = str.toInt(&ok, 0);	//基数为0时,根据字符串使用C语言的准换方法
//类似函数还有:
QString::toDouble();
QString::toFloat();
QString::toLong();
QString::toLongLong();
  • const char* 型の QByteArray を返す QString::toAscii() 文字エンコーディング変換関数

QByteArray クラスには、生のバイトと「\0」で終わる従来の 8 ビット文字列の両方を格納できるバイト配列があります。

QString str = "Welcome to you! ";
QByteArray ba = str.toAscii();	//将unicode字符串转换为ASCII字符串
qDebug()<<ba;					//输出转换后的字符串
ba.append("Hello,World! ");		//追加字符串
qDebug()<<ba.data();

Supongo que te gusta

Origin blog.csdn.net/Chuangke_Andy/article/details/127495133
Recomendado
Clasificación