|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 |% Q l% n' ~, Q
" R6 I1 l2 B% T% g如果需要全字符串匹配,用Find/ q b* Q6 ^# \2 Y2 O& K5 f1 a4 L
1 i7 g% O" C: w5 |5 q" U6 E5 M6 U4 m& \6 J8 t
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。9 `7 @) H* I* Y% F& I& b& x
: O2 T0 i5 C- r5 o现将find和find_first_of的区别与几种使用形式介绍如下1 O1 r+ x# }5 [, Q4 w5 Y
5 J6 y- M* T: T* @+ @
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。3 x! H8 m. _" W9 C" l g$ N) m! t
! y( N, P/ s; E% m* y& H8 qfind有四种使用形式。- l# g/ _! t1 ]$ ~9 [+ ?$ L
: i( Z5 s1 g/ r1、size_type find(const basic_string& str, size_type pos = 0) const; c$ I: V) w1 g0 a% l# ^ t
# G/ u& M, `5 _, K+ }$ Q表示 从pos位置开始找子字符串str& A3 d- w4 J4 ]$ V9 M. m+ h
9 g$ X1 A4 @0 v' J( A# h1 B2、size_type find(const char* s, size_type pos, size_type count)const;3 x2 \1 b5 M, d9 Z& o }
0 ]+ M p4 `& Z
从pos位置开始找到与字符串s的前count个字符相等的子串7 ]0 Z7 d+ u' @% Y9 i2 U5 L
# l6 l" ] S2 j" W3、size_type find(const char* s, size_type pos = 0)const;" l! x; O/ r/ c' n. u6 ]
& U& `! K# h) t) A5 W: U: g2 r5 j从pos位置开始找与字符串s相等的子串; }: s+ t& Q7 D
# j8 G6 T& r- u( S
4、size_type find(char ch, size_type pos = 0) const;
: N4 }( F* L% M9 r& K( c) a- R6 T y7 U6 j
从pos位置开始找字符ch。# U3 ~) y* M8 Y: b# G! D
, g# l( e; j3 [% h, ^- ^9 Q
, M% B. h9 B! W4 }
3 Y) Q) a9 C& |9 H
find_first_of的四种形式
5 m* n! j% J x" f& j* n! |% h S; M6 A( h7 ?. R+ D7 O
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;" v/ _5 z1 A# V5 M; z/ B
8 k. V. M5 o y0 V5 ?
从pos位置开始找到第一个与str中任意一个字符相等的字符1 Q; F3 C' t/ c- j! A* Y$ R4 O
5 q9 p. A& Q K. F8 T, T5 O2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
' K' Y( o5 e8 J7 X# M- u6 x" x5 {* K+ _/ N+ b
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符, q K% l& y' _& g3 ]
1 b% `9 U$ n$ ?2 m4 F1 p# [- m
3、size_type find_first_of(const char* s, size_type pos = 0)const;, \- U' i% P, w9 Y: Y
. l6 {. H* f5 t- v0 n从pos位置开始找到第一个与s中的任意一个字符相等的字符
' v/ d! i# Q0 G
% \7 H: `+ h5 Q8 r/ R7 F4、size_type find_first_of(char ch, size_type pos = 0)const;- A. q3 a) O, _& q- U4 m- ^
2 N9 k1 R1 d6 z+ M从pos位置开始找到第一个等于ch的字符。
. q2 g q7 Z0 b) w5 C; x& j, M8 @9 b5 h* W. \2 x
6 W" x0 _6 M2 O5 _ |
|