|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& u5 \3 Y. t. G* @
9 O2 }0 R% e, g2 `' o- B如果需要全字符串匹配,用Find. ]1 V) ~3 b% A; n6 M( s1 Y
' t% u, p9 n# t/ a
+ f+ w# r. X- g2 a1 l
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。7 b0 F. F5 s1 S4 l
: r9 |' h' u$ }0 ^8 X4 o& o现将find和find_first_of的区别与几种使用形式介绍如下
+ r$ p9 t% L8 [% i! |/ c. c
. N7 w$ m# O, D A# W; }find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。) G! n% J ^1 `& H; h5 l
; F- A: D0 M9 L* r. ?- j9 Afind有四种使用形式。
4 G3 @6 C$ L k; i2 x: P+ J
+ u4 F- \) o, w- P2 a3 f0 f, z1、size_type find(const basic_string& str, size_type pos = 0) const;3 d' i2 k- n: @5 o/ }
( K+ i# p5 m+ ^表示 从pos位置开始找子字符串str$ V, p/ C+ ]& K8 l& I
5 O* e& ~/ Q, \/ ]( z! u, X. P
2、size_type find(const char* s, size_type pos, size_type count)const;
, y- g- R; {# Y) |. ?
# |# Y, x8 S0 X1 U( q" |. V) s从pos位置开始找到与字符串s的前count个字符相等的子串7 w" ^7 w- r4 V" I
$ h- ~& x0 \" f: E: S5 z- E3、size_type find(const char* s, size_type pos = 0)const;/ V# O; [# Y1 U( [2 F% A0 g
+ E# q- m( {2 `2 I1 k2 X5 e+ B8 h从pos位置开始找与字符串s相等的子串+ `! C3 {! |( j* U4 R" s( n s
8 c ]# X! r! z1 I7 g& C; q
4、size_type find(char ch, size_type pos = 0) const; v; N* H. T8 R) ?& F
9 Y/ P' w1 v$ H" l9 J
从pos位置开始找字符ch。7 X0 S S1 U8 }5 F6 q6 H4 Y1 K- ^
9 s( Z+ {6 I3 `4 Q, {; R3 X
0 H! g& v. v3 }8 @6 U* | e+ F1 Y) |2 e$ H8 a# [, E i
find_first_of的四种形式
5 a9 ^. e, W# \( ?! J. r$ W5 _) v; t; |
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;4 u/ P% F2 f- @2 M; J. \
' b. I% @3 ?+ V; [, ~% S
从pos位置开始找到第一个与str中任意一个字符相等的字符0 S3 J$ D( h7 l; C( e; N$ x
3 d; N4 u( ] B. c3 E1 g2、size_type find_first_of(const char*s, size_type pos, size_type count)const;, u: `, E6 i' E
9 B# U: w) q' `7 J3 Z
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符! X, X0 \$ V0 l
2 U' i3 y6 n9 [' G, W! q3、size_type find_first_of(const char* s, size_type pos = 0)const;
! R3 `" N7 j( V! {/ N T6 S9 M
+ ^3 B' R6 @' `# J9 S从pos位置开始找到第一个与s中的任意一个字符相等的字符
' S) ^# @6 `( z/ }% C4 Z3 e$ j* B% Z/ B/ _5 m' n4 u2 @* w
4、size_type find_first_of(char ch, size_type pos = 0)const;2 m! `/ p4 s/ ^3 @2 _
) Y+ U, I, ]' |从pos位置开始找到第一个等于ch的字符。5 z5 _0 c8 e) V d
+ V- B6 b' ^# R
3 B0 q) T# g% V |
|