|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, c/ L6 J/ N U; X9 P& r, ~1 {
: n, \4 Q4 _: o如果需要全字符串匹配,用Find/ x4 Z! V. v9 N' w
9 }; }& M) ]3 e$ K. g6 o% n7 R4 m! J. r4 V
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。* \9 _2 H+ ^- }6 D
6 E# `8 o5 i! O9 o6 u+ a
现将find和find_first_of的区别与几种使用形式介绍如下2 s5 k0 ?# T+ W1 R: G
2 J- F6 [) O' o4 Wfind是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。- m. r$ g0 ~0 x* D
" |9 {( T3 i6 m8 ufind有四种使用形式。
3 g9 m! o4 B7 D# z$ h+ `
8 m1 r+ n5 f0 l# A+ f/ y0 V8 ?$ k1、size_type find(const basic_string& str, size_type pos = 0) const;
# ~, g& g d) k: A- ^+ d& t u
+ I- h) J: d" r6 @8 D表示 从pos位置开始找子字符串str) S1 N! D+ C1 V: W6 _* Y" w& t7 f
1 G4 O& w& D" p9 E
2、size_type find(const char* s, size_type pos, size_type count)const;
7 s7 k: p, U, u. m$ s& u! d0 J3 }' z( m/ I
从pos位置开始找到与字符串s的前count个字符相等的子串+ R+ N( a' a ^! e
4 O+ j$ Q& B" R4 N6 `( O, r1 `3、size_type find(const char* s, size_type pos = 0)const;
* O1 U8 C$ }( H7 Z ?- y( v5 b' p5 A6 d5 D0 R
从pos位置开始找与字符串s相等的子串
* ` G k2 @2 ]+ p6 y/ H" m% k" _- C1 T3 U+ p0 R J4 [" B
4、size_type find(char ch, size_type pos = 0) const;
# A; ?4 e: h5 r* W
# n. M d% V; P5 B6 y9 z! A) M! c从pos位置开始找字符ch。5 s) M$ L9 f4 V4 U: J# `, B( T
$ ?8 ^! q1 p# \( |& A; { B. m7 ~& G, g* o! _. e
: R8 G! t1 b9 P& c( R' u; dfind_first_of的四种形式: K( S3 G$ V' k1 B* L
' \$ M/ \3 R+ a7 O, Q1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
, B, P% \1 o6 V6 S! O% \' ?5 B( M2 K/ A' _7 C, f
从pos位置开始找到第一个与str中任意一个字符相等的字符
) ~9 w* \6 I% q* s, \8 R
% b/ h! B5 z+ y3 E; a# B5 J+ w2、size_type find_first_of(const char*s, size_type pos, size_type count)const;1 _$ L$ x1 l! X f7 ]3 P
) v6 h# D, m5 J1 e& g m从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符/ T: I1 n6 L9 k7 O$ e
& a9 g9 K k6 V }# C: }% N3、size_type find_first_of(const char* s, size_type pos = 0)const;# y' t0 H$ F4 j2 ~
; u2 g, Y2 D! r+ ^
从pos位置开始找到第一个与s中的任意一个字符相等的字符
' y7 w3 j! ~+ b; I* H5 i* O( a& I
5 O( Z1 }$ H$ R4、size_type find_first_of(char ch, size_type pos = 0)const;
' x$ Q: l6 Y" p- g2 m5 t' F. n* {2 i" x! E
从pos位置开始找到第一个等于ch的字符。2 {8 F+ g" ^8 O( |" _
7 k$ _5 `* W+ A. b
! @" w( I$ l2 j. j' Z, r |
|