Qt 字符串截取常用函数

1、bool QString::startsWith  // 字符串以XX开头,返回true,第二个参数可以设置大小写敏感

QString str = "Bananas";
str.startsWith("Ban");     // returns true
str.startsWith("Car");     // returns false

2、bool QString::endsWith  // 字符串以XX结尾,返回false,第二个参数可以设置大小写敏感

QString str = "Bananas";
str.endsWith("anas");         // returns true
str.endsWith("pple");         // returns false

3、QString QString::trimmed()  // 返回前后没有空格的字符串

QString str = "  lots\t of\nwhitespace\r\n ";
str = str.trimmed();
// str == "lots\t of\nwhitespace"

4、QString &QString::remove(int position, int n)  // 指定位置开始删除n个字符,返回该字符引用

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

QString s = "Montreal";
s.remove(1, 4);
// s == "Meal"

5、int QString::indexOf()  // 返回从指定位置开始第一次出现的索引位置,未找到返回-1。第二个参数可以设置大小写敏感

QString x = "sticky question";
QString y = "sti";
x.indexOf(y);               // returns 0
x.indexOf(y, 1);            // returns 10
x.indexOf(y, 10);           // returns 10
x.indexOf(y, 11);           // returns -1

6、int QString::lastIndexOf() 

// 返回此字符串中字符串str的最后一次出现的索引位置,从索引位置向后搜索。如果from是-1(默认值),搜索从最后一个字符开始;如果from是-2,则在倒数第二个字符处,依此类推。如果没有找到str,则返回-1。第二个参数可以设置大小写敏感

QString x = "crazy azimuths";
QString y = "az";
x.lastIndexOf(y);           // returns 6
x.lastIndexOf(y, 6);        // returns 6
x.lastIndexOf(y, 5);        // returns 2
x.lastIndexOf(y, 1);        // returns -1

7、QString QString::right(int n) const  // 返回包含该字符串的最右n个字符的子字符串。

QString x = "Pineapple";
QString y = x.right(5);      // y == "apple"

8、QString QString::left(int n) const  // 返回包含该字符串的最左n个字符的子字符串。

QString x = "Pineapple";
QString y = x.left(4);      // y == "Pine"

9、QString QString::mid(int position, int n = -1) const  // 返回一个包含该字符串的n个字符的字符串,从指定的位置索引开始。

QString x = "Nine pineapples";
QString y = x.mid(5, 4);            // y == "pine"
QString z = x.mid(5);               // z == "pineapples"

10、QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const  //   在sep出现的地方将字符串分割成子字符串,并返回这些字符串的列表。可以设置大小写敏感

QString str = QStringLiteral("a,,b,c");

 QStringList list1 = str.split(QLatin1Char(','));
 // list1: [ "a", "", "b", "c" ]

 QStringList list2 = str.split(QLatin1Char(','), Qt::SkipEmptyParts);
 // list2: [ "a", "b", "c" ]

练习:

提取“[]”中的数据

    QStringList list;
    QString tempStr;
    bool judge = false;

    QString str = "dsgdsg%$%^$[111]dfdff[2222](*&*([12346]))  dg[3333]  788 dddd";
    int a[] = {0,1,2};
    foreach(auto ch, str)
    {
        if(judge)
            tempStr += ch;
        if(ch == '[')
            judge = true;
        if(ch == ']')
        {
            judge = false;
            list.append(tempStr.left(tempStr.indexOf(']')));
            tempStr.clear();
        }
    }

    foreach(auto s, list)
    {
        qDebug()<<s;  //  输出"111""2222""12346""3333"

    }

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值