|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ l8 o- U% Q: \# t9 |
$ L8 ` c# L8 A( m如果需要全字符串匹配,用Find
2 x' w5 F! u8 s ]* e1 t: H0 u, W' T) r* {3 P! @
, ^7 d) f& T+ B7 x' K; N& ?今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。9 W1 T0 ?1 u& U4 ]! i# Z. u) M B
% Y5 x' C4 a( w+ p/ C: p3 c现将find和find_first_of的区别与几种使用形式介绍如下* K* I! `) O+ h
0 a/ G6 b' n4 K8 \
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。, u" V3 H; G; O# t1 b4 Y5 ^
) O3 P9 C7 |( F. H0 O, ?find有四种使用形式。
9 t' H$ O* q* z6 p! _2 [! q% f2 H1 {! y+ ^. Z4 U
1、size_type find(const basic_string& str, size_type pos = 0) const;3 y, |5 H( `" ~: h& B) f( c
1 `3 k$ b0 D% |0 d3 r1 U: B4 o表示 从pos位置开始找子字符串str" G" L7 z+ \$ x
z( `6 d+ H/ }2、size_type find(const char* s, size_type pos, size_type count)const;
4 H6 j( _' b5 k6 T7 {2 ^0 w
$ K b7 p1 R& u7 V+ c从pos位置开始找到与字符串s的前count个字符相等的子串
& M! s$ ~8 S& M8 n" C' v3 e) W: r. w( B K% k5 |
3、size_type find(const char* s, size_type pos = 0)const;! z' J9 D6 U) ] K$ ~
" g% z$ _) U/ o# E" [2 O, R m
从pos位置开始找与字符串s相等的子串
. ^: j0 [% s$ N( [# e5 a) r9 r- q4 A. D) S3 c# T& }
4、size_type find(char ch, size_type pos = 0) const;
/ F% j1 J, O/ M
+ r* q/ R' {7 Z: B( _, U# e2 Z从pos位置开始找字符ch。9 ~3 D6 s. Q8 f; d
& V5 v7 w& o: N
. t7 S$ @/ E$ g& ~7 X* {, h
I2 D# Z0 B1 G+ O3 l" Dfind_first_of的四种形式
0 U' W) X0 |) n( g- c' g- Z0 [" T- E1 _0 c& c" j! B& O
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;8 o3 v j" s+ C: A. O; C: \
" a* ?6 L8 J) \, B! ~从pos位置开始找到第一个与str中任意一个字符相等的字符1 {0 D7 f! l2 ~3 c0 G) ]' X- r
& H6 F/ L% A8 t
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
1 }* P4 f8 J9 i: }7 V' Y
# }/ k& M& h/ O1 a从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
: \2 [/ ?4 [2 y
6 g- G& l& U" O. D: C8 x, F3、size_type find_first_of(const char* s, size_type pos = 0)const;1 Q7 k, v$ O" @7 [' L# x4 F
( _9 g$ _( b/ o/ n0 N! i' l
从pos位置开始找到第一个与s中的任意一个字符相等的字符7 i. Q) s. B( b
3 G; a0 O( C1 C% M5 }; a/ Z4、size_type find_first_of(char ch, size_type pos = 0)const;+ s( o$ D5 ?* V! y
( |" w4 R" M3 F+ A0 z从pos位置开始找到第一个等于ch的字符。
7 p; t4 R1 ?% j8 g8 v
- k! @/ g7 u: D o- f
. Z; T5 g) |# ~4 P5 r$ z |
|