qt 字符串截取后4个字符_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个字符,返回该字符引用

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

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值