介绍QString较少使用却很有用的接口。
0x00 移除行首行尾的空白字符
空白字符包含:'t', 'n', 'v', 'f', 'r'和' '。
接口:
QString QString::trimmed() const
示例:
QString str = " lots\t of\nwhitespace\r\n ";str = str.trimmed();// str == "lots\t of\nwhitespace"
0x01 移除行首行尾空白字符并将每个内部空白序列替换为一个空格。
QString str = " lots\t of\nwhitespace\r\n ";str = str.simplified();// str == "lots of whitespace";
0x02 QString转QStringList
QStringList QString::split(const QString &sep, QString::SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
QString str = "a,,b,c";QStringList list1 = str.split(',');// list1: [ "a", "", "b", "c" ]QStringList list2 = str.split(',', QString::SkipEmptyParts);// list2: [ "a", "b", "c" ]
另外QStringList转QString可以使用以下接口:
QString QStringList::join(const QString &separator) const
0x03 截取指定位置内容
void QString::truncate(int position)
示例:
QString str = "Hello world";str.truncate(5);// str == "Hello"
0x04 计算字符串的某个字符个数
int QString::count(QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive) const