|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" k6 L8 X8 I! U* O0 n: f
0 q& M! x8 M0 l3 m# b! ?+ z' Z如果需要全字符串匹配,用Find
; ~, S$ b+ H+ ^& O& `% j
. I" a* Y* M4 T# S* C# f* U9 @6 ~5 o0 i8 Y# E; v; E
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。5 J4 e6 G: I5 H4 |" w$ h! t" w
9 X1 S3 Q4 z4 ]# {3 ]
现将find和find_first_of的区别与几种使用形式介绍如下- I1 f7 z7 w: j- ?7 I" ~. i
' R0 d. l, ^0 ]
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
! m/ g/ [1 |$ b. @8 N, f* @' i r3 m T( T
find有四种使用形式。
, n$ z, \: X* ?3 p$ a. s4 h+ D* |) G0 S5 o3 O- w
1、size_type find(const basic_string& str, size_type pos = 0) const;" C9 E3 ?- O4 e4 ]$ E- v9 S; _6 H3 A
/ R, O' y& i* e) g( o( Y
表示 从pos位置开始找子字符串str
% D0 Z1 d6 u* |" F
- \# ~, z8 z- t. o9 s/ ^+ j2、size_type find(const char* s, size_type pos, size_type count)const;" n9 e9 [& k, G- b3 L1 z3 S
% W- B: m" I0 q$ y% z! M从pos位置开始找到与字符串s的前count个字符相等的子串
7 `7 i6 {' u/ }5 J P! R2 A# u( o9 F) H9 W
3、size_type find(const char* s, size_type pos = 0)const;
# S# S8 }7 r( A+ e4 |. N+ e3 V# S& a- j: j$ ^
从pos位置开始找与字符串s相等的子串) j/ d4 Q, l3 C5 L
5 C" ~- H- c/ N+ P; v- y; j( Z
4、size_type find(char ch, size_type pos = 0) const;
- T$ f; Q# _& H& i% v! O& F' j- e3 u `- J3 x, _4 L" i
从pos位置开始找字符ch。
; e5 S6 |$ _ L4 ~; T6 ?, z+ H ] f1 o" l# U/ O2 E% H' X( L
0 {6 h( @. ~. V$ D! {
9 N: }/ A3 l9 c$ k4 bfind_first_of的四种形式
. @9 q' f" y8 z; G( _7 S, e
$ q: ^; O8 ^$ C& a( m; a1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;( {' w8 Z% s8 L1 M' ?% Q D) v
; m; p4 [, o" J6 O+ C/ ]/ b+ i
从pos位置开始找到第一个与str中任意一个字符相等的字符
2 \2 I+ W* o y% N7 l' E- n! w) b o: B, y
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;: o7 p% C: a+ o" ^: U
7 ^% c, p! B0 l/ l- k2 ]! r# x; M
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
& U* ?7 d. u1 {/ L& e4 }" E6 o5 _; V6 J1 a. v+ B$ z
3、size_type find_first_of(const char* s, size_type pos = 0)const;
& I4 A7 J. [" q$ Y4 |
4 Z' v( ~; `) v3 k% D从pos位置开始找到第一个与s中的任意一个字符相等的字符
9 n4 ?% I" l1 e; O, u, w
8 U& s& _3 X& R: J8 J! }4、size_type find_first_of(char ch, size_type pos = 0)const;# ~# J% S2 b" d' Q, K5 L, g
; p! m9 ^4 E8 o7 g D/ q0 [从pos位置开始找到第一个等于ch的字符。
" @2 [, l3 X) ~3 }
) q: G/ `: I: `. v2 X! u# i% A; b" M
|
|