QTString和QTStringList

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();
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值