Qt有他自己的string 和stringlist 体系 虽然qt继承了c++的方法 但是一般我们用qt的
首先介绍一下QTString:
1.初始化
QString qstr="abcd";
2.特性:
与C++中的string相近
3.功能
函数 | 功能 |
QString & append(const QString & str) | 追加子串到字符串尾部。 |
String & prepend(const QString & str) | 将子串加到字符串头部。 |
bool startsWith(const Qstring & s,Qt::CaseSensitivity cs = Qt::CaseSensitive) | 判断字符串(如"abcd")是否以某个(如s是"ab")打头,cs指判断时大小写子串是否敏感,返回bool。 |
bool endsWith(const QString & s,Qt::CaseSensitivity cs = Qt::CaseSensitive)const | 判断字符串(如"abcd")是否以某个子串(如s 是"cd")结尾,cs指判断时大小写是否敏感,返回bool。 |
bool contains(const QString & str,Qt::CaseSensitivity cs = Qt::CaseSensitive)const | 判断字符串对象里是否包含子串str,参数cs指判断时大小写是否敏感。 |
int count(const QString & str,Qt::CaseSensitivity cs = Qt::CaseSensitive)const | 对字符串对象里子串str 出现的次数做统计,返回出现次数,如果没出现就返回0。 |
String &insert(int position,const QString&str) | 将子串str插入到position序号位置,子串str插入后的起始序号就是position 。 |
QString & remove(int position, int n) | 从position开始的位置移除掉n个字符,如果n比 position位置开始的子串长度大,后面的就会被全部移除。 |
Qstring & remove(const Qstring & str,Qt::CaseSensitivity cs = Qt::CaseSensitive) | 这个重载的remove函数将匹配的所有子串str 都从字符串里面移除掉,拿来消除空格之类的字符比较好使。 |
String &replace(int position, int n, constString & after) | 将从position 序号开始的n个字符的子串替换成after字符串。 |
String & replace(const QString & before,const QString & after, Qt::CaseSensitivity cs= Qt:CaseSensitive) | 这个重载的 replace将字符串里出现的所有子串before全部替换为新的after。 |
Qstring trimmed() const | 剔除字符串头部和尾部的空白字符,包括'\t','In', 'lv','lf', 'Vr','"。字符串中间的空白不处理。 |
QString simplified() const | 剔除字符串里出现的所有空白字符,包括"\t", "In',"lIv',"lf, "\r',' '。两端和中间的都剔除。 |
std:string toStdString() const | 返回一个std:string |
static QString fromStdString(conststd::string &str) | 将std:string转化为QString |
再介绍一下QTString List:
1.初始化
QStringList qlst;
2.特性:
是一个每个节点都存 QTString类型 的链表
3.功能
在c++中list容器的基础上又多了几个功能
函数 | 功能 |
StringList & operator<<(const QString &str) | 增加字符串 |
void append(const Qstring &str) | 增加字符串 |
String join(const QString &separator) const | 合并成为一个字符串,参数为间隔内容 |
QStringList filter(const QString &str,Qt::CaseSensitivity cs = Qt::CaseSensitive)const | 提取一个新的列表只包含这些字符串包含一个特定的字符串(或匹配特定正则表达式) |
完整代码如下
#include <QCoreApplication>
#include<iostream>
#include<string>
#include<QString>
#include<QDebug>
#include<QStringList>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cout<<"Hello Qt"<<endl;
QString qstr="abcd";
qDebug()<<qstr<<"\n"<<"efg";
qstr.append("0");
qDebug()<<qstr<<endl;
string str ="123";
QString qstr1;
qstr1=QString::fromStdString(str);
qDebug()<<qstr1<<endl;
qstr1.prepend("qqq");
qDebug()<<qstr1<<endl;
QStringList qlst;
qlst.append("1234");
qlst<<"5"<<"61";
qDebug()<<qlst<<endl;
QString qstr2=qlst.join("");
qDebug()<<qstr2<<endl;
QStringList qlst1=qlst.filter("1" );
qDebug()<<qlst1<<endl;
return a.exec();
}