Qt 的QString类的使用
生活随笔
收集整理的這篇文章主要介紹了
Qt 的QString类的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Qt的QString類提供了很方便的對字符串操作的接口。
例:
QString str = "Berlin";str.fill('z');// str == "zzzzzz" str.fill('A', 2);// str == "AA"2,從字符串里查找相同的某個字符串str。
int QString::indexOf ( const QString & str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const例如:
QString x = "sticky question";QString y = "sti";x.indexOf(y); // returns 0x.indexOf(y, 1); // returns 10x.indexOf(y, 10); // returns 10x.indexOf(y, 11); // returns -13指定位置插入字符串
QString & QString::insert ( int position, const QString & str )例如:
QString str = "Meal";str.insert(1, QString("ontr"));// str == "Montreal"3,判斷字符串是否為空。
bool QString::isEmpty () const如:
QString().isEmpty(); // returns trueQString("").isEmpty(); // returns trueQString("x").isEmpty(); // returns falseQString("abc").isEmpty(); // returns false4.判斷字符串是否存在。
bool QString::isNull () const例如:
QString().isNull(); // returns trueQString("").isNull(); // returns falseQString("abc").isNull(); // returns false5,從左向右截取字符串
QString QString::left ( int n ) const例如:
QString x = "Pineapple";QString y = x.left(4); // y == "Pine"6,從中間截取字符串。
QString QString::mid ( int position, int n = -1 ) const例如:
QString x = "Nine pineapples";QString y = x.mid(5, 4); // y == "pine"QString z = x.mid(5); // z == "pineapples"7,刪除字符串中間某個字符。
QString & QString::remove ( int position, int n )例如:
QString s = "Montreal";s.remove(1, 4);// s == "Meal"8,替換字符串中的某些字符。
QString & QString::replace ( int position, int n, const QString & after )例如:
QString x = "Say yes!";QString y = "no";x.replace(4, 3, y);// x == "Say no!"9,以某個字符切割字符串。(最近經常用到的)
QString QString::section ( QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault ) const例如:
QString str;QString csv = "forename,middlename,surname,phone";QString path = "/usr/local/bin/myapp"; // First field is emptyQString::SectionFlag flag = QString::SectionSkipEmpty;str = csv.section(',', 2, 2); // str == "surname"str = path.section('/', 3, 4); // str == "bin/myapp"str = path.section('/', 3, 3, flag); // str == "myapp"測試代碼: #include <QCoreApplication> #include <QDebug> class QString; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); /* QString str = "Berlin"; str.fill('z'); // str == "zzzzzz" QByteArray ba = str.toLatin1(); char *mm = ba.data(); qDebug()<<mm<<endl; str.fill('A', 2); // str == "AA" ba = str.toLatin1(); mm = ba.data(); qDebug()<<mm<<endl; qDebug()<<"endl"; */ /* QString x = "sticky question"; QString y = "sti"; qDebug()<<x.indexOf(y)<<endl; // returns 0 qDebug()<<x.indexOf(y, 1)<<endl; // returns 10 qDebug()<<x.indexOf(y, 10)<<endl; // returns 10 qDebug()<<x.indexOf(y, 11)<<endl; // returns -1 */ /* QString str = "Meal"; str.insert(1, QString("ontr")); // str == "Montreal" qDebug()<<str<<endl; */ /* qDebug()<<QString().isEmpty(); // returns true qDebug()<<QString("").isEmpty(); // returns true qDebug()<<QString("x").isEmpty(); // returns false qDebug()<<QString("abc").isEmpty(); // returns false */ /* qDebug()<<QString().isNull(); // returns true qDebug()<<QString("").isNull(); // returns false qDebug()<<QString("abc").isNull(); // returns false */ /* QString x = "Pineapple"; QString y = x.left(4); // y == "Pine" qDebug()<<x; qDebug()<<y; */ /* QString x = "Nine pineapples"; QString y = x.mid(5, 4); // y == "pine" QString z = x.mid(5); // z == "pineapples" qDebug()<<x; qDebug()<<y; qDebug()<<z; */ /* QString s = "Montreal"; s.remove(1, 4); // s == "Meal" qDebug()<<s; */ /* QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); // x == "Say no!" qDebug()<<x; qDebug()<<y; */ QString str0; QString str1; QString str2; QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp"; // First field is empty QString::SectionFlag flag = QString::SectionSkipEmpty; str0 = csv.section(',', 2, 2); // str == "surname" str1 = path.section('/', 3, 4); // str == "bin/myapp" str2 = path.section('/', 3, 3, flag); // str == "myapp" qDebug()<<str0; qDebug()<<str1; qDebug()<<str2; return a.exec(); }
10,把整型,浮點型,或其他類型轉化為QString
QString & QString::setNum ( uint n, int base = 10 )相類似的還有好多重載函數,想深入了解,還是要看Qt幫助文檔的。
總結
以上是生活随笔為你收集整理的Qt 的QString类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AB1601烧程序时注意事项
- 下一篇: Qt只QStringList的简单使用方