字符串前缀判断

本文介绍了一种使用C++标准库中的compare方法来判断一个字符串是否为另一个字符串前缀的有效方法。通过比较两个字符串的起始部分,可以快速确定是否满足前缀条件,此方法在字符串操作中十分实用。
1 //a是b的前缀
2 bool isPrefixOf(string a,string b)
3 {
4     return a.size()<b.size()&&(b.compare(0,a.size(),a)==0);
5 } 

string类的compare方法是指从b的下标0处,即一开始,找长度为a.size()的字符串a,如果找到则返回0,否则返回差值。

如字符串a="apple"是字符串b="appleiuf"的前缀,却不是字符串c="kfsapple"的前缀,也不是字符串d="apperwle"的前缀。

 

小技巧:若要求在某一字符串a尾部增加或删除一些字符以后匹配b,则a为b的前缀或b为a的前缀即能达成。

转载于:https://www.cnblogs.com/Asurudo/p/9965576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值