C++中String字符串查
在写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)。
例⼦:
1class Solution {
2public:
3int repeatedStringMatch(string A, string B) {
4int len_A=A.size(),len_B=B.size();
5string t=A;
6int con=1;
7while(t.size()<len_B)
8 {
9 t=t+A;
10 con++;
11 }
12if(t.find(B)!=string::npos)
13return con;
14 t=t+A;
15if(t.find(B)!=string::npos)
16return con+1;
c++中string的用法
17else
18return -1;
19
20 }
21 };
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论