|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
`$ x' ?% ~) L
: \: ~2 B# d6 C- h6 |/ g% ?如果需要全字符串匹配,用Find
5 `9 s+ k. u$ \9 U# D- g1 [- M. l- B
! M. D( V5 j4 j: J: |2 Z) r
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。: L, s- x$ O3 e
7 a i( `1 Y3 R现将find和find_first_of的区别与几种使用形式介绍如下
$ I2 M. x. X- d; c4 D0 S' T( Q* G) ?7 Z9 i9 B: q
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。$ a% v& u7 K( v! h1 J) u, w+ w' x
' `0 e6 N+ F- @% v2 P2 C& Ufind有四种使用形式。, |$ ^! x2 L9 Q4 Z! b
5 o7 Q6 Y8 p, r z+ c$ b5 R( e1、size_type find(const basic_string& str, size_type pos = 0) const;8 N5 r7 W+ C. b" d7 E% X$ M
4 ]: y) n {* \- f表示 从pos位置开始找子字符串str
1 s; ]2 k. @( b6 E! Z( j# D. t, o) w
4 h$ Q3 `6 X& a8 N6 j! {2、size_type find(const char* s, size_type pos, size_type count)const;
- o; J7 ^1 q5 t9 S+ }% b0 x5 N" \# ]& ]/ ~5 x b8 C
从pos位置开始找到与字符串s的前count个字符相等的子串: a3 s7 J9 N& z% ] W6 R) O* V
! M" c3 l( p3 N" r4 C+ h3、size_type find(const char* s, size_type pos = 0)const;
, D* e6 j7 N, F$ {: p0 Z+ Y( W" I
3 b/ y5 D; D! Q7 r& h- I从pos位置开始找与字符串s相等的子串/ }. V. }" g$ P. m& B. K/ ?) T0 v
* M8 }3 o: {3 U, g9 \* s, \" P
4、size_type find(char ch, size_type pos = 0) const;- h8 ^( H" \$ x, }0 U+ l
8 \- u) h; K: R. y q: k
从pos位置开始找字符ch。0 [6 @: b2 p; C
: ?+ `7 M8 e5 v5 _# J4 Y$ S' h
+ Z0 D5 Q# `: Q3 H
% W; y0 {; k* J' C! zfind_first_of的四种形式& J5 n# S3 H1 ?* v/ w- t7 M
9 x5 j/ C- D: ?% c# y- g. E
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;8 w& h! x& m6 ?! `9 m' J/ |! t
$ a. Y) l+ ?/ ^9 W* \% H/ T
从pos位置开始找到第一个与str中任意一个字符相等的字符
% t7 ~& M& I1 C) q3 A6 Y( c) n7 O* K
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;$ S, F* m1 V/ X
- d4 J+ {. i) h- z( I
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
5 x |# r# Y# X( ?+ d0 ]' m/ _, J/ u" i& Z4 j$ i7 f7 f
3、size_type find_first_of(const char* s, size_type pos = 0)const;
5 t4 V8 ^! A% E! }& E9 v0 K$ [7 ^ w i b6 L+ E' N' W5 h, F
从pos位置开始找到第一个与s中的任意一个字符相等的字符' j" F, u+ b8 m6 h. `- X0 L
. l0 J9 |- X' c, u+ R4、size_type find_first_of(char ch, size_type pos = 0)const;
1 {) r* L x7 E9 c# ~* K2 `8 H/ I; O) U2 k7 c4 [
从pos位置开始找到第一个等于ch的字符。! J8 Y* F, k1 W- t, e
& A; o/ [0 b7 [) X) }* o
q. k) e) D% g/ e
|
|