在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法。而对于C++的string,我们往往会用到find()。

C++:#inlcude<string>
C: #include<string.h>

find():在一个字符串中查找一个指定的单个字符或字符数组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,就返回string::npos。
find_first_of():在一个目标串中进行查找,返回值是第一个与指定字符组中任何字符匹配的字符位置。如果没有查找到匹配的内容,则返回npos。
find_last_of():在一个目标串中进行查找,返回最后一个与指定字符组中任何字符匹配的字符位置。如果没有查找到匹配的内容,则返回npos。
find_first_not_of():在一个目标串中进行查找,返回第一个与指定字符组中任何字符都不匹配的元素位置。如果找不到那样的元素则返回npos。
find_last_not_of():在一个目标串中进行查找,返回下标值最大的与指定字符组中任何字符都不匹配的元素的位置。若找不到那样的元素则返回npos。
rfind():对一个串从尾至头查找一个指定的单个字符或字符组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,则返回npos。
find(string, int):第一个参数用来指示要查找的字符,第二个参数用来表示从字符串的何处开始查找子串(默认的查找位置是0)。

例子:

 class Solution {
public:
int repeatedStringMatch(string A, string B) {
int len_A=A.size(),len_B=B.size();
string t=A;
int con=;
while(t.size()<len_B)
{
t=t+A;
con++;
}
if(t.find(B)!=string::npos)
return con;
t=t+A;
if(t.find(B)!=string::npos)
return con+;
else
return -; }
};

最新文章

  1. iOS阶段学习第35天笔记(Touch手势介绍)
  2. 在 Visual Studio 等编辑器/IDE中自动切换输入法,不需要手动的有没有?
  3. Struts2向值栈中压入属性的方式
  4. Redhat EL安装curses
  5. 【HTTP】WireShark中获取Content-Encoding: gzip时的响应内容
  6. OVM-V1.2 版发布,新增实时监控、支持一键升级
  7. 免费VPN 实测可用
  8. 关于Android构建
  9. 金额input框控制只能小数点后有两位的有效数字
  10. jvm性能调优---jstat的用法
  11. C#中Thread类中Join方法的理解(转载)
  12. JAVA File常用的API介绍
  13. linux c 之signal 和sigaction区别
  14. cf B. Levko and Permutation
  15. autotools入门笔记(一)
  16. 【Java每日一题】20170116
  17. mysql建表: 主键,外键约束
  18. 将Session放入Redis
  19. Unity UGUI
  20. 数据库原理剖析 - 序列1 - B+树

热门文章

  1. 群晖的moments套件 发生未知错误
  2. Spring cloud properties与yml配置说明
  3. lumen使用CORS解决跨域问题
  4. JasperReports报表变量13
  5. 3.appium定位方法
  6. stream之累加求和
  7. JavaScript内容回顾
  8. 外网如何访问vmware虚拟机的web服务(转载)
  9. JS random函数深入理解(转载)
  10. python基础--闭包and装饰器