|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 ?4 ~/ ~; z, C% X% B0 c' x. C! G
6 [9 n% Y' Y4 ~4 I; k( ^6 ^0 d3 `如果需要全字符串匹配,用Find8 e, r* m- _1 `% w0 C: N5 l
2 i$ D& P2 y; v7 i( e3 \7 _% o# t. | F9 O/ B7 U6 Q% k
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。: I5 `/ J( H b- i# J
d8 r* i- f3 n" {4 L, ^现将find和find_first_of的区别与几种使用形式介绍如下
# x2 {0 o" f' G4 X' O
% d2 q2 m% t7 H$ L( w- T1 ^% sfind是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
$ o% \, \3 x0 f4 I: X$ i4 ^
* k: C) c# P, ofind有四种使用形式。! w: A) w R' b$ ^
; f, V: v$ q) j- U
1、size_type find(const basic_string& str, size_type pos = 0) const;. q3 A& A& Z& u |- L
0 n- P+ g7 e* t, m) W
表示 从pos位置开始找子字符串str
2 K+ |. b6 V) q. r- i1 o& u8 u( B9 T7 R+ o) d9 f4 f/ f/ E
2、size_type find(const char* s, size_type pos, size_type count)const;2 I5 }- @8 `$ U/ B, A* e. k) x& J q6 ]
% J) o3 J7 m$ N$ ]
从pos位置开始找到与字符串s的前count个字符相等的子串
& o: m, g4 X$ S3 ?. R: b' a9 [: J8 K- }2 L
3、size_type find(const char* s, size_type pos = 0)const;
2 H2 c F( E2 a. H4 f" ~! I p; s: H- f; l+ u: I1 i: O
从pos位置开始找与字符串s相等的子串
% U6 d4 T" v) n8 f$ H: I' Z
" t1 L' l- F. _& A. ]4、size_type find(char ch, size_type pos = 0) const;2 q9 x0 T; e7 n$ c4 P
3 B# V1 y' ^* q& b( g0 o" L从pos位置开始找字符ch。" ~5 r" |/ E# t( z1 ^
/ T- R. |/ B! N3 i) H
( p1 k% ?! s8 r
S m. _3 L3 B A& `
find_first_of的四种形式5 E9 J, n% n7 B9 o. _" H
9 ]2 C5 K5 x9 P" s- D- K
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;$ A& t# U# G% K1 [# n8 B4 n
$ g4 c; K4 F+ J7 p' w0 p! m* n从pos位置开始找到第一个与str中任意一个字符相等的字符
: j* f# |" z+ h# n
! t, d: a( `" `( j2、size_type find_first_of(const char*s, size_type pos, size_type count)const;' _& @, T8 k) K$ A6 J* G+ R- z$ c4 Z
( T- m2 w: K+ d从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符5 [; H% o; I% o6 V" n2 t
" h$ l0 w7 O' R- ^ O5 J+ m; o3、size_type find_first_of(const char* s, size_type pos = 0)const;6 T4 g& g" q# a& R s$ m" Z2 I: K- `
: {$ j% M* v& R( [8 Q5 ^
从pos位置开始找到第一个与s中的任意一个字符相等的字符
! D$ U/ x4 K4 o4 w( _9 S. k# R' C+ j; h) F
4、size_type find_first_of(char ch, size_type pos = 0)const;! @/ }8 Z8 B5 j, P! s8 Q
, O$ k8 |5 d+ j1 V- S {2 ~! g
从pos位置开始找到第一个等于ch的字符。9 T/ i2 G- W5 m8 B7 A P$ n
5 _$ M: ]* ^ j6 x0 i$ k! t0 g% L9 a2 ]. {5 j& O
|
|