|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 w; b* ]: J, I% x: M: C7 q% \4 b* R7 ~; @3 e
如果需要全字符串匹配,用Find
& ^% p6 U/ X5 r) c2 r$ p% _
1 k( x3 {4 A4 I* e' G2 r) a
6 I6 _ [0 Z1 ~' |4 z& O$ J. p今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。 Y$ r$ h4 C3 t' s! f
! l) Y; m! Q* u! P3 y
现将find和find_first_of的区别与几种使用形式介绍如下7 S+ l5 O% D8 K2 \
8 M( E, J, M+ `& X3 Z
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
) j1 S2 Y% f% P1 C$ W- d. p# ?$ g/ |& y/ L% P, K( [
find有四种使用形式。
: Q) u9 Z, d& v% ^1 p3 R7 a4 f, i( p# l/ @- B: \
1、size_type find(const basic_string& str, size_type pos = 0) const;* k( F) h3 o& Z
3 I; ~8 z, q0 R# n! x o& a! H表示 从pos位置开始找子字符串str! f- C# B+ Z2 F
" j ^7 V( i2 a! v3 H2 E2 ^
2、size_type find(const char* s, size_type pos, size_type count)const;5 w/ J, x2 a( z* d1 f
& u5 p0 q8 w8 m2 j$ i3 `$ }/ ~/ L
从pos位置开始找到与字符串s的前count个字符相等的子串+ ~% d" o8 N" z: _3 Z8 @
& G8 U0 A/ ]- d
3、size_type find(const char* s, size_type pos = 0)const;& N9 v6 L# D+ Q$ T3 b U, L5 Z
$ ?7 P* M0 C1 Q, v( t. P2 D从pos位置开始找与字符串s相等的子串% ^2 N0 T6 Y1 H
( v/ a) Y0 E0 N- I! c
4、size_type find(char ch, size_type pos = 0) const;
% r+ x9 G/ V( `/ D
/ ~0 f Y' {6 X$ E从pos位置开始找字符ch。& b0 M \( k8 |9 E! O, b+ u) }2 {
: F& P, f0 q7 }* R: O. \/ L& n
% m4 z7 J" m Z
/ k& Y3 o) `8 F2 _- Q' ?
find_first_of的四种形式5 k! N0 N3 M1 ?/ m( O7 \, O6 K0 l. U. } Q
' q$ E. J# U+ J2 }+ [: J
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;) R! o6 v, ]* i2 j
+ Z' `1 c) ]; l: h; [3 w5 ~从pos位置开始找到第一个与str中任意一个字符相等的字符/ A; v1 O* `! x3 K; C7 p S
0 A) j/ k- ]; j4 L& W: R% a$ E
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
, ~7 @) N" p" b' r
* V8 |- ~$ {: N+ j% A从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
$ F% a0 b! k' M( x* G5 A7 s# z5 l" M3 \
3、size_type find_first_of(const char* s, size_type pos = 0)const;) N3 I" x5 [7 ~3 z# W4 U
. x$ X9 d0 x3 s2 w
从pos位置开始找到第一个与s中的任意一个字符相等的字符5 |6 U) t3 T5 m( U
8 }6 r4 } M3 K" ]
4、size_type find_first_of(char ch, size_type pos = 0)const;
( _. e' R3 t( e: ^
. Y0 ~$ _/ Q* x. b从pos位置开始找到第一个等于ch的字符。
2 b4 T# r" X( a6 D+ L. A( z. O
& x7 A' R5 k+ G3 H% i2 |4 f% F' F6 K4 p% H7 e' E( y
|
|