|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; n V; P% o1 w% M$ h7 r9 ~+ [+ |3 F' {; F" j
如果需要全字符串匹配,用Find
0 F- B3 Y% Z: {5 M8 h3 b0 @, p. f/ |/ Q$ ?5 D5 P) ^1 M
I" Q) g# ~& `! }8 M7 U今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。$ h% v' e" H0 l2 r% R3 Z
. D& m, t/ e3 ]- j. p: h
现将find和find_first_of的区别与几种使用形式介绍如下
8 L2 ?7 W" V# K) u2 W% o
$ _$ h0 v9 ^% q Y3 r/ ffind是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。+ ~/ {6 J, j- l) |& A
6 ]1 B5 h5 \, z4 v/ z9 y. y* t/ qfind有四种使用形式。/ ^6 ^! r+ G" l( P8 E
v H7 a4 j' k: `3 ~! N, P
1、size_type find(const basic_string& str, size_type pos = 0) const;
! ^$ x9 M1 e" {8 P* F- j' ?9 A3 P6 ~, Y* s
表示 从pos位置开始找子字符串str' [" j* }5 s; J
2 ~" U( O8 m% C& l* t( O5 Q2、size_type find(const char* s, size_type pos, size_type count)const;
# \2 [( b6 D M/ l6 e6 @# y& |" g4 Q; u5 t) M5 ~, J
从pos位置开始找到与字符串s的前count个字符相等的子串
. v. b5 u _; c! v# x- ?* g" t4 Q* d( ~/ m4 W- C
3、size_type find(const char* s, size_type pos = 0)const;
$ @! X R0 g4 ~4 O( W x8 `# i+ ^' J4 k L4 t4 A
从pos位置开始找与字符串s相等的子串
# D- h, z4 M. m' W# e- ~' x4 q4 D C( H) } Y# t# |$ ?* [
4、size_type find(char ch, size_type pos = 0) const;
6 @ W4 P) y: l1 S2 C' K0 \' u
5 y+ |2 ]1 Z3 v; ]) h从pos位置开始找字符ch。$ R( k4 I3 `' ] c& B
. i! x5 Q$ K$ p+ B) W
: V6 d9 m6 m( @* _- @, _3 _. K" V# P+ n) h/ t& H/ }& k. M
find_first_of的四种形式
, g9 Y3 `$ ^9 q* ~) ~
2 P- X# b/ F" t6 K4 d/ m& C* Q1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
- R; T5 C [: U {, n+ e- t9 d' X# P- B0 v9 z4 ^
从pos位置开始找到第一个与str中任意一个字符相等的字符
+ q2 }; W, [2 l# i3 C( U
$ D, K1 T% b* Z2、size_type find_first_of(const char*s, size_type pos, size_type count)const;4 N+ q3 N1 R" ]! E& G
3 e/ s2 h% J6 Q" Y! `$ y- w
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符 X0 e% x6 x' _& ?8 }7 `9 {( T& z
; q* U' q9 G) ~6 w, A" q3 [$ l6 B
3、size_type find_first_of(const char* s, size_type pos = 0)const;8 @; h5 }8 N2 l f2 i
/ h# k0 P# Q! S0 K& v从pos位置开始找到第一个与s中的任意一个字符相等的字符
% |. n' v' I/ M/ E; s6 S0 t0 o) k
$ ], A7 z: u2 n9 y4 O: p4、size_type find_first_of(char ch, size_type pos = 0)const;/ W, z; I) E1 v' F @5 t
. g; i- \/ |: X1 d+ C
从pos位置开始找到第一个等于ch的字符。
8 B) \- [2 |$ S* T( S2 X( c+ T# Q/ l( j+ r0 b8 B
- {9 c3 c2 e: C) k! m$ H8 ^; c |
|