介绍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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。