|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
" K% [9 v2 u' E6 S* z5 M
; D" M! q6 J, p" q% @& l
如果需要全字符串匹配,用Find$ @" Q) S, V) g6 L
6 M( H$ U6 z6 K1 J3 S. ~
8 n0 O+ j8 q) k% k
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。# A; B# { r/ E9 \ t2 M+ k) H8 x% r0 o
: [8 q* _' f o( |1 {- N现将find和find_first_of的区别与几种使用形式介绍如下3 U2 d3 y) B w8 q; z7 j$ V
% I2 ?7 v, C* J$ O+ H
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
; V4 \% e2 ?/ d. h/ s2 [# N1 c, {6 F6 \' N7 ?0 B1 l& v* u) v3 C
find有四种使用形式。0 u9 \, L4 G# O$ u
$ M1 I! [8 c7 t& i0 L( Z/ R5 A
1、size_type find(const basic_string& str, size_type pos = 0) const;% v5 |( Q/ h4 y8 ^ a& k7 d! ?
+ {5 D7 ^7 a C4 f! z
表示 从pos位置开始找子字符串str; E2 r) X! S" a6 c/ y) d
9 l* _+ o; ?( W! E7 d0 M2、size_type find(const char* s, size_type pos, size_type count)const;
& z( u) Z: {; k. n9 ?) p* I: k+ n
8 f5 V5 s( h! B( C1 N0 A6 W从pos位置开始找到与字符串s的前count个字符相等的子串: p5 R0 E( s4 q3 C) }: \8 g: t
% ], l! M/ L7 x
3、size_type find(const char* s, size_type pos = 0)const;! j! C2 t, m% l _/ P# p
5 i: W( e$ x- R4 @1 n从pos位置开始找与字符串s相等的子串
/ J/ X$ T! V8 {( i: I7 t" f* w5 X% n. y# T' X
4、size_type find(char ch, size_type pos = 0) const;
. z8 e4 T, O- p! C, S1 P4 T0 F$ z- n8 d5 D- p
从pos位置开始找字符ch。
0 _3 p0 a f! ], Q; ~' M* D3 S( ^2 C3 \
! D! H! E1 z5 z" C7 c- H
6 v4 s z0 W; G }5 y `0 a. Vfind_first_of的四种形式
, a- d' {: ?9 \2 a. v2 S2 T
V% _& _! ^% ?3 Q/ Z1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;% h# V7 U/ G: ]- M m% i# R. U) O3 w
8 x" z8 _& W4 J, `( A5 P6 \
从pos位置开始找到第一个与str中任意一个字符相等的字符
f" \% A- {4 x3 ]& n; F) @2 Y9 q. @4 X7 k* u f
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;$ |* ?+ O% |' v) c% Y9 \/ _% t
4 P* b! S. A; L5 S' c
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
8 w, G6 S2 S1 t0 c1 @' g1 X( F. K1 J% S& }
3、size_type find_first_of(const char* s, size_type pos = 0)const;, N9 g5 i" [- t0 h0 u
& C- n0 _# f: w+ s( H
从pos位置开始找到第一个与s中的任意一个字符相等的字符
3 `. [: {" [' N3 I( w) x5 C- k' ^5 m1 g0 ~ J3 U
4、size_type find_first_of(char ch, size_type pos = 0)const;" M8 w" j% V( C) c0 [+ q" Z* ^1 \
# P6 h8 T Z/ g, u$ k从pos位置开始找到第一个等于ch的字符。, _ @+ k- f8 J8 ?, k* A/ W% n% f
' ^; O) F; X+ S3 i2 z* E
6 Q) M* V( D- E+ u6 p+ F# @ |
|