|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) E1 `0 `# Z8 i, m3 K
$ Y: m; e, p; W+ ?如果需要全字符串匹配,用Find. F6 n% l. u# [4 e! b% h9 j8 w
4 y3 Q8 H# z5 w$ w- c3 p9 J& l
0 Z" d+ Z) z6 s$ i- v. g今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
L# [ L9 b5 B4 r8 k: m
4 L+ M, Q5 L4 t& y! o% G0 j现将find和find_first_of的区别与几种使用形式介绍如下
2 \/ P L8 V/ `" c! X- b9 \7 J- S7 a, `: t8 i9 v& A
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
$ p ]' X9 _+ w9 o. ?) S2 a, E+ w8 Y9 M# a, s4 |# m) n4 e
find有四种使用形式。
( Z/ f% g' v. O
5 b5 X( ^2 ~# D9 |& @( U1、size_type find(const basic_string& str, size_type pos = 0) const;
3 J: h: |+ I! b8 I1 \
% I* i1 ~+ Q- Z: M. J4 j. C, S表示 从pos位置开始找子字符串str7 x7 u5 F+ Q1 L! d
, _! Q0 k$ |! j# t$ P! g2、size_type find(const char* s, size_type pos, size_type count)const;
6 K/ M" X C! u! u5 ~! Y. M# O Z( n& w) K" {$ t
从pos位置开始找到与字符串s的前count个字符相等的子串4 ]! u2 T( p8 B; i9 c7 u: c; M/ O8 O
* o9 h) d! U2 ]; U
3、size_type find(const char* s, size_type pos = 0)const;
l8 b* I7 D' p3 L# ~' z, l! r- _+ w7 u3 ?+ P" H! {; t
从pos位置开始找与字符串s相等的子串
. z/ t6 x3 P8 ]* h( c# w7 V
% q% a |9 r4 J4、size_type find(char ch, size_type pos = 0) const;
' Y2 D% O$ G) |- d; G6 o: u3 K! {. \9 s1 ]* C* f
从pos位置开始找字符ch。( \; y% C- @' g3 R- _0 R* N
+ p2 R$ m, A& c. G) p& i# w0 S/ C, ?: G3 z& X
+ R* t: Y& B+ A$ D2 a" W
find_first_of的四种形式: |9 g- k( F0 U. F1 o" Y0 F
: F4 W' C8 F5 W6 E9 ~
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;: F/ F [! U4 K! }2 ]6 {6 R
# C. r, z3 M% a& i! A0 @从pos位置开始找到第一个与str中任意一个字符相等的字符* {7 ]7 N) _6 z! w8 k
9 k6 J! y' K6 m' h' T
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
) j; n0 H2 x) V( @; i; p. K
/ C0 M) L+ A8 E从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符" T0 R) f* J( F) V, j2 l3 s4 W
; w' _, Z5 x2 g1 J6 A) F
3、size_type find_first_of(const char* s, size_type pos = 0)const;5 B Z2 A& ]- l
" q9 V, Y0 C& Y( A# R
从pos位置开始找到第一个与s中的任意一个字符相等的字符9 z0 V% J8 i0 n9 {9 n: f: @2 e
' z: U. F L+ N( N4、size_type find_first_of(char ch, size_type pos = 0)const;) B4 `/ l }$ f
" s, T* S5 B8 f) k2 `' e7 ~从pos位置开始找到第一个等于ch的字符。2 }5 f, V7 [( x" W/ V: r) p
( A, I/ r- z! A; d
* g% p6 P: K4 J1 R$ ^" g& r |
|