|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 l+ Q' d2 V% M# f
7 m% S& ]. ~( r+ W' r如果需要全字符串匹配,用Find
! D' `- r( I/ ^3 v A1 B( V% [4 ~, W% |- x2 @
1 | R3 b, f Y1 L( I5 j
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。) `# u0 w6 {2 J9 z
" M, r% A* ~! _2 H+ q$ b) j: {& u- i" j
现将find和find_first_of的区别与几种使用形式介绍如下
3 p) ]* g3 }/ x( H5 B1 y. b) N, i, X5 I9 ~$ z6 p. K3 B
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
/ s' t/ W9 O) B0 R6 [6 Z' [% d! e4 `: c$ y3 K3 r
find有四种使用形式。/ d0 D! C( e4 A4 h2 C% P
; W; o1 G8 z. N% P* W* P4 l
1、size_type find(const basic_string& str, size_type pos = 0) const;
; Y2 W! T3 r# R% R; R9 `. r/ t% S, D4 {/ U) ^
表示 从pos位置开始找子字符串str
6 z$ R& o- v/ \! f) J9 t* ^
8 Z3 t6 [- U$ K# x/ c& p7 q: x5 C2、size_type find(const char* s, size_type pos, size_type count)const;( @* Z1 b5 q; N
T( I! o! I+ l4 d& S0 L从pos位置开始找到与字符串s的前count个字符相等的子串
% D5 l. E: |; k& [/ G
7 }+ a) g: ~0 @' @3、size_type find(const char* s, size_type pos = 0)const;
3 _9 `) f& t7 t# f/ O, G1 E2 J3 U$ W
从pos位置开始找与字符串s相等的子串7 ~0 I6 C' l& m2 C+ ?& R% C3 w
1 _$ `$ T/ X2 D1 ^4 t. [8 _0 a4、size_type find(char ch, size_type pos = 0) const; q8 Q- |/ K6 v. m' S: a
( ~" u# x, q" A q$ b2 G
从pos位置开始找字符ch。
' {8 \( F3 I2 x* Z b
4 g3 ?% S( ^; @* L; H6 D, @2 \
/ A( \4 w: j2 O) u, r3 R" Y0 j! s/ k
& `( B/ u2 _) Wfind_first_of的四种形式
) ^6 K& `; t: W4 U2 q, q8 H, x! c7 ?7 e) ~" F5 R( L2 n
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
3 L* \; k- |6 u2 o6 J! Q/ G) |& A2 z
从pos位置开始找到第一个与str中任意一个字符相等的字符* F4 r/ a* Y3 x6 |$ L& M ]3 E
, K$ `7 H1 q+ j- E4 ^
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;5 S& G8 \1 a3 P1 ~- W, |
1 L0 p6 }2 h: C8 S从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
' z# p3 @/ v6 d. n6 J, l3 Y2 C7 c2 n/ }8 k4 l7 j
3、size_type find_first_of(const char* s, size_type pos = 0)const;, L9 K& r# L( t
3 }" {2 r8 f o, Z* m6 s* C1 }
从pos位置开始找到第一个与s中的任意一个字符相等的字符
6 ~- e1 s& ]9 B+ q! ]' s" b* \5 r8 l; q* V
4、size_type find_first_of(char ch, size_type pos = 0)const;, M4 Y) z2 e! D- i5 a% s1 ?
* F2 r7 z& O' u( s5 H- o$ T! p
从pos位置开始找到第一个等于ch的字符。2 B8 P8 c- J0 Q h0 W
- I: s* j8 R8 z! M' }! ~' ^0 @) p! z2 W5 a5 x
|
|