Qt之字符串查找

                                                              去掉空格

OString类的成员雨数 trimmed()会去掉字符申首尾的空格,而成员函数simplified()不仅
去掉宇符申首尾的空格,中间连续的空格也用一个空格符来替换。比如:
OString str1="Are you OK?",str2;
str2=str1.trimmed();//str1="Are you OK?"
str2=str1.simplified();//str1="Are you OK?"
又比如:

strl = strl.trimmed();//strl ="Welcome\t to\n you!"
str2=str2.simplified();//str2 ="Welcome to you!"
                                                                    查找子字符串
OString类的成员函数indexOf0)在自身字符串内查找参数str指定的字符串所出现的位置indexOf()函数的原型声明如下:
int indexOf(const QString astr,int from = 0,Qt::CaseSensitivity cs=Qt::CaseSensitive);
        在自身字符串内查找参数str指定的字符串所出现的位置,参数from指定开始查找的位置参数cs指定是否区分字母大小写,默认是区分字母大小写的(Qt::CaseSensitive)。如果找到str指定的字符串,则返回该字符串在所查找字符串中第一次出现的位置,即索引值,如果没有找到,则返回-1。注意,所谓向前查找,就是朝着索引值增大的方向查找,即从左到右进行查找。
另外,函数lastIndexOf()用于查找某个字符串最后出现的位置,相当于从字符串末尾开始戟字符串头部方向查找,即从右到左进行查找。比如:
QString str1="G:\Qt5Book\QT5.9Study\qw.cpp";
N=str1.indexOf("5.9");//N=13

N=str1.lastIndexOf("\\");//N=21
"\”是转义字符,如果要查找"\",则需要输入"\\"。
又比如:
QString x ="sticky question";
QString y ="sti";
x.index0f(y);//returns 0
x.indexOf(y,1);//returns 10
x.indexOf(y,10);//returns 10
x.indexOf(y,11);//returns-1

更强大的查找函数是find(),该函数的原型声明如下:

int find(const QRegExp &rx,int index=0);

从位置index开始,找到常量正则表达式rx第一次出现的位置。如果index为-1,则从最后一个字符开始查找,以此类推。函数返回rx第一次出现的位置,如果没有找到rx,则返回-1.比如:

QString string(“bananas”)

int i=string.find(QregExp("an"),0);i==1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者..................

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值